Coverage Report

Created: 2025-06-05 01:56

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
template <auto A>
75
using mp_value = std::integral_constant<decltype(A), A>;
76
77
template <bool C, typename T, typename... E>
78
struct mp_if_c_impl;
79
template <typename T, typename... E>
80
struct mp_if_c_impl<true, T, E...> {
81
    using type = T;
82
};
83
template <typename T, typename E>
84
struct mp_if_c_impl<false, T, E> {
85
    using type = E;
86
};
87
88
template <bool C, typename T, typename... E>
89
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
90
template <typename C, typename T, typename... E>
91
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
92
93
template <template <typename...> class F, typename... T>
94
struct mp_valid_impl {
95
    template <template <typename...> class G, typename = G<T...>>
96
    static std::true_type check(int);
97
    template <template <typename...> class>
98
    static std::false_type check(...);
99
100
    using type = decltype(check<F>(0));
101
};
102
103
template <template <typename...> class F, typename... T>
104
using mp_valid = typename mp_valid_impl<F, T...>::type;
105
template <template <typename...> class F, typename... T>
106
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
107
108
struct mp_nonesuch {};
109
template <template <typename...> class F, typename... T>
110
struct mp_defer_impl {
111
    using type = F<T...>;
112
};
113
114
template <template <typename...> class F, typename... T>
115
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
116
117
template <bool C, class T, template <class...> class F, class... U>
118
struct mp_eval_if_c_impl;
119
120
template <class T, template <class...> class F, class... U>
121
struct mp_eval_if_c_impl<true, T, F, U...> {
122
    using type = T;
123
};
124
125
template <class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
127
128
template <bool C, class T, template <class...> class F, class... U>
129
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
130
template <class C, class T, template <class...> class F, class... U>
131
using mp_eval_if =
132
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
133
template <class C, class T, class Q, class... U>
134
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
135
                                                T,
136
                                                Q::template fn,
137
                                                U...>::type;
138
139
// mp_eval_if_not
140
template <class C, class T, template <class...> class F, class... U>
141
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
142
template <class C, class T, class Q, class... U>
143
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
144
145
// mp_eval_or
146
template <class T, template <class...> class F, class... U>
147
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
148
template <class T, class Q, class... U>
149
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
150
151
// mp_valid_and_true
152
template <template <class...> class F, class... T>
153
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
154
template <class Q, class... T>
155
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
156
157
// extension
158
template <template <typename...> class F, typename... T>
159
using mp_valid_result =
160
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
161
template <template <typename...> class F, typename... T>
162
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
163
164
// mp_cond
165
template <class C, class T, class... E>
166
struct mp_cond_impl;
167
168
template <class C, class T, class... E>
169
using mp_cond = typename mp_cond_impl<C, T, E...>::type;
170
171
template <class C, class T, class... E>
172
using mp_cond_ = mp_eval_if<C, T, mp_cond, E...>;
173
174
template <class C, class T, class... E>
175
struct mp_cond_impl : mp_defer<mp_cond_, C, T, E...> {};
176
177
/////////////////////////////////////////////////////////////////
178
// pointer_traits and to_address
179
/////////////////////////////////////////////////////////////////
180
181
template <typename Ptr, typename>
182
struct pointer_traits {};
183
184
template <typename T>
185
struct pointer_traits<T*, void> {
186
    using pointer = T*;
187
    using element_type = T;
188
    using difference_type = std::ptrdiff_t;
189
190
    template <typename U>
191
    using rebind = U*;
192
193
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
194
    static constexpr pointer pointer_to(U& r) noexcept
195
    {
196
        return &r;
197
    }
198
199
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
200
    {
201
        return p;
202
    }
203
};
204
205
template <typename Ptr>
206
using apply_member_difference_type = typename Ptr::difference_type;
207
template <typename Ptr>
208
using get_member_difference_type =
209
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
210
211
template <typename Ptr, typename ElementType>
212
struct pointer_traits_generic_base {
213
    using pointer = Ptr;
214
    using element_type = ElementType;
215
216
    using difference_type = get_member_difference_type<Ptr>;
217
    static_assert(std::is_integral_v<difference_type>);
218
219
    // no rebind (TODO?)
220
221
    template <typename P = Ptr>
222
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
223
    {
224
        return Ptr::pointer_to(r);
225
    }
226
};
227
228
template <typename It, typename = void>
229
struct wrapped_pointer_iterator;
230
231
#ifdef _GLIBCXX_DEBUG
232
template <typename Elem, typename Container>
233
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
234
    SCN_FORCE_INLINE static constexpr auto to_address(
235
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
236
    {
237
        return it.base();
238
    }
239
};
240
#endif
241
#if SCN_STDLIB_GLIBCXX
242
template <typename Elem, typename Container>
243
struct wrapped_pointer_iterator<
244
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
245
    SCN_FORCE_INLINE static constexpr auto to_address(
246
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
247
    {
248
        return it.base();
249
    }
250
};
251
#endif
252
#if SCN_STDLIB_LIBCPP
253
template <typename Elem>
254
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
255
    SCN_FORCE_INLINE static constexpr auto to_address(
256
        const std::__wrap_iter<Elem*>& it) noexcept
257
0
    {
258
0
        return it.base();
259
0
    }
260
};
261
#endif
262
263
template <typename I>
264
using apply_deref = decltype(*SCN_DECLVAL(I&));
265
template <typename I>
266
using apply_incr = decltype(++SCN_DECLVAL(I&));
267
template <typename I>
268
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
269
template <typename It>
270
struct wrapped_pointer_iterator<
271
    It,
272
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
273
                     mp_valid_v<apply_incr, It> &&
274
                     mp_valid_v<apply_member_unwrapped, It>>> {
275
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
276
    {
277
        return it._Unwrapped();
278
    }
279
};
280
281
template <typename I>
282
using apply_member_to_address =
283
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
284
285
template <typename Iterator>
286
struct pointer_traits<
287
    Iterator,
288
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
289
    : pointer_traits_generic_base<
290
          Iterator,
291
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
292
    SCN_FORCE_INLINE static constexpr auto to_address(
293
        const Iterator& it) noexcept
294
0
    {
295
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
296
0
    }
297
};
298
299
template <typename It>
300
using apply_ptr_traits_to_address =
301
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
302
template <typename It>
303
inline constexpr bool can_make_address_from_iterator =
304
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
305
306
template <typename T>
307
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
308
5.18M
{
309
5.18M
    return p;
310
5.18M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
4.57M
{
309
4.57M
    return p;
310
4.57M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
308
616k
{
309
616k
    return p;
310
616k
}
311
template <typename Ptr>
312
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
313
                                                priority_tag<1>) noexcept
314
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
315
{
316
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
317
}
318
template <typename Ptr>
319
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
320
                                                priority_tag<0>) noexcept
321
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
322
                                               priority_tag<2>{}))
323
{
324
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
325
}
326
327
template <typename Ptr>
328
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
329
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
330
5.18M
{
331
5.18M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
5.18M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
1.78M
{
331
1.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
1.78M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
2.78M
{
331
2.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
2.78M
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
330
616k
{
331
616k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
332
616k
}
Unexecuted instantiation: _ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
333
334
}  // namespace detail
335
336
/////////////////////////////////////////////////////////////////
337
// <expected> implementation
338
/////////////////////////////////////////////////////////////////
339
340
// The following implementation of expected is based on TartanLlama/expected,
341
// but is heavily modified.
342
//
343
// The original source is here:
344
//     https://github.com/TartanLlama/expected
345
// which is licensed under CC0 (Public Domain).
346
347
/**
348
 * \see `std::unexpected`
349
 */
350
template <typename E>
351
class SCN_TRIVIAL_ABI unexpected {
352
    static_assert(std::is_destructible_v<E>);
353
354
public:
355
    unexpected() = delete;
356
357
    template <
358
        typename Err = E,
359
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
360
                                    !std::is_same_v<Err, std::in_place_t> &&
361
                                    std::is_constructible_v<E, Err>>>
362
    explicit constexpr unexpected(Err&& e) noexcept(
363
        std::is_nothrow_constructible_v<E, Err>)
364
3.26M
        : m_unexpected(std::forward<Err>(e))
365
5.64M
    {
366
5.64M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
5.64M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
364
2.60M
        : m_unexpected(std::forward<Err>(e))
365
2.60M
    {
366
2.60M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
2.60M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
364
592k
        : m_unexpected(std::forward<Err>(e))
365
592k
    {
366
592k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
592k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
364
12.5k
        : m_unexpected(std::forward<Err>(e))
365
12.5k
    {
366
12.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
12.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
364
49.1k
        : m_unexpected(std::forward<Err>(e))
365
49.1k
    {
366
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
364
49.1k
        : m_unexpected(std::forward<Err>(e))
365
49.1k
    {
366
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
364
27.5k
        : m_unexpected(std::forward<Err>(e))
365
27.5k
    {
366
27.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
27.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
364
2.30M
        : m_unexpected(std::forward<Err>(e))
365
2.30M
    {
366
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
367
2.30M
    }
368
369
    template <typename... Args,
370
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
371
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
372
        std::is_nothrow_constructible_v<E, Args...>)
373
5.77M
        : m_unexpected(std::forward<Args>(args)...)
374
5.84M
    {
375
5.84M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
5.84M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
373
3.36M
        : m_unexpected(std::forward<Args>(args)...)
374
3.36M
    {
375
3.36M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
3.36M
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
373
110k
        : m_unexpected(std::forward<Args>(args)...)
374
110k
    {
375
110k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
110k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
373
2.30M
        : m_unexpected(std::forward<Args>(args)...)
374
2.30M
    {
375
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
376
2.30M
    }
377
378
    SCN_NODISCARD constexpr E& error() & noexcept
379
9.50M
    {
380
9.50M
        return m_unexpected;
381
9.50M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
379
5.84M
    {
380
5.84M
        return m_unexpected;
381
5.84M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
379
153k
    {
380
153k
        return m_unexpected;
381
153k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
379
1.20M
    {
380
1.20M
        return m_unexpected;
381
1.20M
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
379
2.30M
    {
380
2.30M
        return m_unexpected;
381
2.30M
    }
382
    SCN_NODISCARD constexpr const E& error() const& noexcept
383
0
    {
384
0
        return m_unexpected;
385
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
386
387
    SCN_NODISCARD constexpr E&& error() && noexcept
388
    {
389
        return std::move(m_unexpected);
390
    }
391
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
392
    {
393
        return std::move(m_unexpected);
394
    }
395
396
private:
397
    E m_unexpected;
398
};
399
400
template <typename E>
401
unexpected(E) -> unexpected<E>;
402
403
struct unexpect_t {};
404
inline constexpr unexpect_t unexpect{};
405
406
namespace detail {
407
template <typename T, typename... Args>
408
T* construct_at(T* p, Args&&... args) noexcept(
409
    std::is_nothrow_constructible_v<T, Args...>)
410
683k
{
411
683k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
683k
        T(std::forward<Args>(args)...);
413
683k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
410
520k
{
411
520k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
520k
        T(std::forward<Args>(args)...);
413
520k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
410
30.5k
{
411
30.5k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
30.5k
        T(std::forward<Args>(args)...);
413
30.5k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
57.4k
{
411
57.4k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
57.4k
        T(std::forward<Args>(args)...);
413
57.4k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
57.3k
{
411
57.3k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
57.3k
        T(std::forward<Args>(args)...);
413
57.3k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
8.80k
{
411
8.80k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
8.80k
        T(std::forward<Args>(args)...);
413
8.80k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
410
8.80k
{
411
8.80k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
412
8.80k
        T(std::forward<Args>(args)...);
413
8.80k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
414
template <typename T>
415
void destroy_at(T* p) noexcept
416
162k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
162k
    else {
423
162k
        p->~T();
424
162k
    }
425
162k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
416
30.5k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
30.5k
    else {
423
30.5k
        p->~T();
424
30.5k
    }
425
30.5k
}
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
57.4k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
57.4k
    else {
423
57.4k
        p->~T();
424
57.4k
    }
425
57.4k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
57.3k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
57.3k
    else {
423
57.3k
        p->~T();
424
57.3k
    }
425
57.3k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
8.80k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
8.80k
    else {
423
8.80k
        p->~T();
424
8.80k
    }
425
8.80k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
416
8.80k
{
417
    if constexpr (std::is_array_v<T>) {
418
        for (auto& elem : *p) {
419
            scn::detail::destroy_at(&elem);
420
        }
421
    }
422
8.80k
    else {
423
8.80k
        p->~T();
424
8.80k
    }
425
8.80k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
426
427
struct deferred_init_tag_t {};
428
static constexpr deferred_init_tag_t deferred_init_tag{};
429
430
template <typename T,
431
          typename E,
432
          bool IsTriviallyDestructible =
433
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
434
              std::is_trivially_destructible_v<E>>
435
struct expected_storage_base;
436
437
template <typename T, typename E>
438
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
439
    constexpr expected_storage_base() noexcept(
440
        std::is_nothrow_default_constructible_v<T>)
441
1.26M
        : m_value(T{}), m_has_value(true)
442
1.26M
    {
443
1.26M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
73.2k
        : m_value(T{}), m_has_value(true)
442
73.2k
    {
443
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
64.2k
        : m_value(T{}), m_has_value(true)
442
64.2k
    {
443
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
85.6k
        : m_value(T{}), m_has_value(true)
442
85.6k
    {
443
85.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
69.6k
        : m_value(T{}), m_has_value(true)
442
69.6k
    {
443
69.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
87.1k
        : m_value(T{}), m_has_value(true)
442
87.1k
    {
443
87.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
70.4k
        : m_value(T{}), m_has_value(true)
442
70.4k
    {
443
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
73.2k
        : m_value(T{}), m_has_value(true)
442
73.2k
    {
443
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
64.2k
        : m_value(T{}), m_has_value(true)
442
64.2k
    {
443
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
85.1k
        : m_value(T{}), m_has_value(true)
442
85.1k
    {
443
85.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
69.7k
        : m_value(T{}), m_has_value(true)
442
69.7k
    {
443
69.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
86.6k
        : m_value(T{}), m_has_value(true)
442
86.6k
    {
443
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
70.4k
        : m_value(T{}), m_has_value(true)
442
70.4k
    {
443
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.7k
        : m_value(T{}), m_has_value(true)
442
30.7k
    {
443
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.6k
        : m_value(T{}), m_has_value(true)
442
30.6k
    {
443
30.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.8k
        : m_value(T{}), m_has_value(true)
442
30.8k
    {
443
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.7k
        : m_value(T{}), m_has_value(true)
442
30.7k
    {
443
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.9k
        : m_value(T{}), m_has_value(true)
442
30.9k
    {
443
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.8k
        : m_value(T{}), m_has_value(true)
442
30.8k
    {
443
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.7k
        : m_value(T{}), m_has_value(true)
442
30.7k
    {
443
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.6k
        : m_value(T{}), m_has_value(true)
442
30.6k
    {
443
30.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.8k
        : m_value(T{}), m_has_value(true)
442
30.8k
    {
443
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.7k
        : m_value(T{}), m_has_value(true)
442
30.7k
    {
443
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.9k
        : m_value(T{}), m_has_value(true)
442
30.9k
    {
443
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
441
30.8k
        : m_value(T{}), m_has_value(true)
442
30.8k
    {
443
30.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
444
445
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
446
        : m_deferred_init(), m_has_value(false)
447
    {
448
    }
449
450
    template <typename... Args,
451
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
452
    constexpr explicit expected_storage_base(
453
        std::in_place_t,
454
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
455
14.5M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
14.5M
    {
457
14.5M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
455
363k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
363k
    {
457
363k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
455
362k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
362k
    {
457
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
455
11.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
11.3k
    {
457
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
455
11.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
11.3k
    {
457
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
455
1.33M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.33M
    {
457
1.33M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
455
158k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
158k
    {
457
158k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
455
1.25M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
1.25M
    {
457
1.25M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
455
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
595k
    {
457
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
455
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
139k
    {
457
139k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
412k
    {
457
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
455
609k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
609k
    {
457
609k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
455
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
412k
    {
457
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
455
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
412k
    {
457
412k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
455
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
595k
    {
457
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
414k
    {
457
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
455
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
414k
    {
457
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
455
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
414k
    {
457
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
455
381k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
381k
    {
457
381k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
455
118k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
118k
    {
457
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
455
10.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
10.6k
    {
457
10.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
455
84.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
84.0k
    {
457
84.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
455
118k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
118k
    {
457
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
455
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
133k
    {
457
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
2.50M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.50M
    {
457
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
289k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
289k
    {
457
289k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
936k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
936k
    {
457
936k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
455
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
139k
    {
457
139k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
455
2.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
2.59k
    {
457
2.59k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
455
749k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
749k
    {
457
749k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
381k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
381k
    {
457
381k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
455
10.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
10.6k
    {
457
10.6k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
455
81.2k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
456
81.2k
    {
457
81.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<unsigned long, void>(std::__1::in_place_t, unsigned long&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
458
459
    template <typename... Args,
460
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
461
    constexpr explicit expected_storage_base(
462
        unexpect_t,
463
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
464
5.04M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
5.04M
          m_has_value(false)
466
5.04M
    {
467
5.04M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
86.6k
          m_has_value(false)
466
86.6k
    {
467
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
86.6k
          m_has_value(false)
466
86.6k
    {
467
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
14.4k
          m_has_value(false)
466
14.4k
    {
467
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
173k
          m_has_value(false)
466
173k
    {
467
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
173k
          m_has_value(false)
466
173k
    {
467
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
28.8k
          m_has_value(false)
466
28.8k
    {
467
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
142k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
142k
          m_has_value(false)
466
142k
    {
467
142k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
328k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
328k
          m_has_value(false)
466
328k
    {
467
328k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
520k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
520k
          m_has_value(false)
466
520k
    {
467
520k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
171k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
171k
          m_has_value(false)
466
171k
    {
467
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
329k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
329k
          m_has_value(false)
466
329k
    {
467
329k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
23.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
23.8k
          m_has_value(false)
466
23.8k
    {
467
23.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
9.70k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
9.70k
          m_has_value(false)
466
9.70k
    {
467
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
23.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
23.2k
          m_has_value(false)
466
23.2k
    {
467
23.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
840k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
840k
          m_has_value(false)
466
840k
    {
467
840k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
11.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
11.5k
          m_has_value(false)
466
11.5k
    {
467
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
8.74k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
8.74k
          m_has_value(false)
466
8.74k
    {
467
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
12.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
12.0k
          m_has_value(false)
466
12.0k
    {
467
12.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
814k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
814k
          m_has_value(false)
466
814k
    {
467
814k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
20.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
20.7k
          m_has_value(false)
466
20.7k
    {
467
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
1.42k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.42k
          m_has_value(false)
466
1.42k
    {
467
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
37.8k
          m_has_value(false)
466
37.8k
    {
467
37.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
375k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
375k
          m_has_value(false)
466
375k
    {
467
375k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
464
20.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
20.7k
          m_has_value(false)
466
20.7k
    {
467
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
464
1.42k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
1.42k
          m_has_value(false)
466
1.42k
    {
467
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
464
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
37.8k
          m_has_value(false)
466
37.8k
    {
467
37.8k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
464
270k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
465
270k
          m_has_value(false)
466
270k
    {
467
270k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
468
469
    constexpr T& get_value() & noexcept
470
16.5M
    {
471
16.5M
        return m_value;
472
16.5M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
190k
    {
471
190k
        return m_value;
472
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
363k
    {
471
363k
        return m_value;
472
363k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
1.12M
    {
471
1.12M
        return m_value;
472
1.12M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
163k
    {
471
163k
        return m_value;
472
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
228k
    {
471
228k
        return m_value;
472
228k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
180k
    {
471
180k
        return m_value;
472
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
232k
    {
471
232k
        return m_value;
472
232k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
182k
    {
471
182k
        return m_value;
472
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
190k
    {
471
190k
        return m_value;
472
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
362k
    {
471
362k
        return m_value;
472
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
163k
    {
471
163k
        return m_value;
472
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
226k
    {
471
226k
        return m_value;
472
226k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
180k
    {
471
180k
        return m_value;
472
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
230k
    {
471
230k
        return m_value;
472
230k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
182k
    {
471
182k
        return m_value;
472
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.4k
    {
471
34.4k
        return m_value;
472
34.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
11.3k
    {
471
11.3k
        return m_value;
472
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.1k
    {
471
34.1k
        return m_value;
472
34.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.7k
    {
471
34.7k
        return m_value;
472
34.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.3k
    {
471
34.3k
        return m_value;
472
34.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
35.0k
    {
471
35.0k
        return m_value;
472
35.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.6k
    {
471
34.6k
        return m_value;
472
34.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.4k
    {
471
34.4k
        return m_value;
472
34.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
11.3k
    {
471
11.3k
        return m_value;
472
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.1k
    {
471
34.1k
        return m_value;
472
34.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.7k
    {
471
34.7k
        return m_value;
472
34.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.3k
    {
471
34.3k
        return m_value;
472
34.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
35.0k
    {
471
35.0k
        return m_value;
472
35.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
34.6k
    {
471
34.6k
        return m_value;
472
34.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
834k
    {
471
834k
        return m_value;
472
834k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
225k
    {
471
225k
        return m_value;
472
225k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
2.50M
    {
471
2.50M
        return m_value;
472
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
289k
    {
471
289k
        return m_value;
472
289k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
510k
    {
471
510k
        return m_value;
472
510k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
595k
    {
471
595k
        return m_value;
472
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
748k
    {
471
748k
        return m_value;
472
748k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
412k
    {
471
412k
        return m_value;
472
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
412k
    {
471
412k
        return m_value;
472
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
412k
    {
471
412k
        return m_value;
472
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
1.33M
    {
471
1.33M
        return m_value;
472
1.33M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
595k
    {
471
595k
        return m_value;
472
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
141k
    {
471
141k
        return m_value;
472
141k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
414k
    {
471
414k
        return m_value;
472
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
414k
    {
471
414k
        return m_value;
472
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
414k
    {
471
414k
        return m_value;
472
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
118k
    {
471
118k
        return m_value;
472
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
94.6k
    {
471
94.6k
        return m_value;
472
94.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
158k
    {
471
158k
        return m_value;
472
158k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
225k
    {
471
225k
        return m_value;
472
225k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
118k
    {
471
118k
        return m_value;
472
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
470
91.9k
    {
471
91.9k
        return m_value;
472
91.9k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
470
133k
    {
471
133k
        return m_value;
472
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
473
    constexpr const T& get_value() const& noexcept
474
0
    {
475
0
        return m_value;
476
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
477
    constexpr T&& get_value() && noexcept
478
0
    {
479
0
        return std::move(m_value);
480
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
481
    constexpr const T&& get_value() const&& noexcept
482
    {
483
        return std::move(m_value);
484
    }
485
486
    constexpr unexpected<E>& get_unexpected() & noexcept
487
3.77M
    {
488
3.77M
        return m_unexpected;
489
3.77M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
86.6k
    {
488
86.6k
        return m_unexpected;
489
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
520k
    {
488
520k
        return m_unexpected;
489
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
86.6k
    {
488
86.6k
        return m_unexpected;
489
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
14.4k
    {
488
14.4k
        return m_unexpected;
489
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
173k
    {
488
173k
        return m_unexpected;
489
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
173k
    {
488
173k
        return m_unexpected;
489
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
28.8k
    {
488
28.8k
        return m_unexpected;
489
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
23.8k
    {
488
23.8k
        return m_unexpected;
489
23.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
20.7k
    {
488
20.7k
        return m_unexpected;
489
20.7k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
171k
    {
488
171k
        return m_unexpected;
489
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
329k
    {
488
329k
        return m_unexpected;
489
329k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
11.5k
    {
488
11.5k
        return m_unexpected;
489
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
9.70k
    {
488
9.70k
        return m_unexpected;
489
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
397k
    {
488
397k
        return m_unexpected;
489
397k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
142k
    {
488
142k
        return m_unexpected;
489
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
8.74k
    {
488
8.74k
        return m_unexpected;
489
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
359k
    {
488
359k
        return m_unexpected;
489
359k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
1.42k
    {
488
1.42k
        return m_unexpected;
489
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
247k
    {
488
247k
        return m_unexpected;
489
247k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
328k
    {
488
328k
        return m_unexpected;
489
328k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
487
20.7k
    {
488
20.7k
        return m_unexpected;
489
20.7k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
487
1.42k
    {
488
1.42k
        return m_unexpected;
489
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
487
142k
    {
488
142k
        return m_unexpected;
489
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
490
    constexpr const unexpected<E>& get_unexpected() const& noexcept
491
0
    {
492
0
        return m_unexpected;
493
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
494
    constexpr unexpected<E>&& get_unexpected() && noexcept
495
520k
    {
496
520k
        return std::move(m_unexpected);
497
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
14.4k
    {
496
14.4k
        return std::move(m_unexpected);
497
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
495
28.8k
    {
496
28.8k
        return std::move(m_unexpected);
497
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
498
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
499
    {
500
        return std::move(m_unexpected);
501
    }
502
503
    SCN_NODISCARD constexpr bool has_value() const noexcept
504
41.7M
    {
505
41.7M
        return m_has_value;
506
41.7M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
900k
    {
505
900k
        return m_has_value;
506
900k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
292k
    {
505
292k
        return m_has_value;
506
292k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
3.54M
    {
505
3.54M
        return m_has_value;
506
3.54M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
256k
    {
505
256k
        return m_has_value;
506
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
342k
    {
505
342k
        return m_has_value;
506
342k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
278k
    {
505
278k
        return m_has_value;
506
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
348k
    {
505
348k
        return m_has_value;
506
348k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
281k
    {
505
281k
        return m_has_value;
506
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
898k
    {
505
898k
        return m_has_value;
506
898k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
292k
    {
505
292k
        return m_has_value;
506
292k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
256k
    {
505
256k
        return m_has_value;
506
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
340k
    {
505
340k
        return m_has_value;
506
340k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
278k
    {
505
278k
        return m_has_value;
506
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
346k
    {
505
346k
        return m_has_value;
506
346k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
281k
    {
505
281k
        return m_has_value;
506
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
369k
    {
505
369k
        return m_has_value;
506
369k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
369k
    {
505
369k
        return m_has_value;
506
369k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
122k
    {
505
122k
        return m_has_value;
506
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
123k
    {
505
123k
        return m_has_value;
506
123k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
2.14M
    {
505
2.14M
        return m_has_value;
506
2.14M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
647k
    {
505
647k
        return m_has_value;
506
647k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
5.35M
    {
505
5.35M
        return m_has_value;
506
5.35M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.23M
    {
505
1.23M
        return m_has_value;
506
1.23M
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
1.47M
    {
505
1.47M
        return m_has_value;
506
1.47M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.20M
    {
505
1.20M
        return m_has_value;
506
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
2.75M
    {
505
2.75M
        return m_has_value;
506
2.75M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
825k
    {
505
825k
        return m_has_value;
506
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
825k
    {
505
825k
        return m_has_value;
506
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
825k
    {
505
825k
        return m_has_value;
506
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
2.96M
    {
505
2.96M
        return m_has_value;
506
2.96M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
1.20M
    {
505
1.20M
        return m_has_value;
506
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
1.47M
    {
505
1.47M
        return m_has_value;
506
1.47M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
828k
    {
505
828k
        return m_has_value;
506
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
828k
    {
505
828k
        return m_has_value;
506
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
828k
    {
505
828k
        return m_has_value;
506
828k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
239k
    {
505
239k
        return m_has_value;
506
239k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
849k
    {
505
849k
        return m_has_value;
506
849k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
972k
    {
505
972k
        return m_has_value;
506
972k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
647k
    {
505
647k
        return m_has_value;
506
647k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
239k
    {
505
239k
        return m_has_value;
506
239k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
504
634k
    {
505
634k
        return m_has_value;
506
634k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
504
266k
    {
505
266k
        return m_has_value;
506
266k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
507
508
    template <typename... Args>
509
    void construct(Args&&... args) noexcept(
510
        std::is_nothrow_constructible_v<T, Args...>)
511
0
    {
512
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
513
0
        m_has_value = true;
514
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
515
    template <typename... Args>
516
    void construct_unexpected(Args&&... args) noexcept(
517
        std::is_nothrow_constructible_v<E, Args...>)
518
520k
    {
519
520k
        scn::detail::construct_at(&get_unexpected(),
520
520k
                                  std::forward<Args>(args)...);
521
520k
        m_has_value = false;
522
520k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
14.4k
    {
519
14.4k
        scn::detail::construct_at(&get_unexpected(),
520
14.4k
                                  std::forward<Args>(args)...);
521
14.4k
        m_has_value = false;
522
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
518
28.8k
    {
519
28.8k
        scn::detail::construct_at(&get_unexpected(),
520
28.8k
                                  std::forward<Args>(args)...);
521
28.8k
        m_has_value = false;
522
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
523
524
    // No-op, because T and E are trivially destructible
525
520k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
525
28.8k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
526
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
527
528
private:
529
    union {
530
        T m_value;
531
        unexpected<E> m_unexpected;
532
        char m_deferred_init;
533
    };
534
    bool m_has_value;
535
};
536
537
template <typename E>
538
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
539
#if SCN_STD >= SCN_STD_20
540
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
541
#else
542
    constexpr expected_storage_base() noexcept
543
4.54M
        : m_deferred_init(), m_has_value(true)
544
4.54M
    {
545
4.54M
    }
546
#endif
547
548
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
549
        : m_deferred_init(), m_has_value(false)
550
    {
551
    }
552
553
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
554
        : m_has_value(true)
555
    {
556
    }
557
558
    template <typename... Args,
559
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
560
    explicit constexpr expected_storage_base(
561
        unexpect_t,
562
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
563
777k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
564
777k
          m_has_value(false)
565
777k
    {
566
777k
    }
567
568
    constexpr unexpected<E>& get_unexpected() & noexcept
569
578k
    {
570
578k
        return m_unexpected;
571
578k
    }
572
    constexpr const unexpected<E>& get_unexpected() const& noexcept
573
    {
574
        return m_unexpected;
575
    }
576
    constexpr unexpected<E>&& get_unexpected() && noexcept
577
    {
578
        return std::move(m_unexpected);
579
    }
580
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
581
    {
582
        return std::move(m_unexpected);
583
    }
584
585
    SCN_NODISCARD constexpr bool has_value() const noexcept
586
5.90M
    {
587
5.90M
        return m_has_value;
588
5.90M
    }
589
590
    template <typename... Args>
591
    void construct(Args&&...) noexcept
592
    {
593
        m_has_value = true;
594
    }
595
    template <typename... Args>
596
    void construct_unexpected(Args&&... args) noexcept(
597
        std::is_nothrow_constructible_v<E, Args...>)
598
    {
599
        scn::detail::construct_at(&get_unexpected(),
600
                                  std::forward<Args>(args)...);
601
        m_has_value = false;
602
    }
603
604
    static constexpr void destroy_value() noexcept {}
605
    static constexpr void destroy_unexpected() noexcept {}
606
607
private:
608
    union {
609
        unexpected<E> m_unexpected;
610
        char m_deferred_init;
611
    };
612
    bool m_has_value;
613
};
614
615
/**
616
 * Implementation of `std::max` without including `<algorithm>`
617
 */
618
template <typename T>
619
constexpr T max(T a, T b) noexcept
620
0
{
621
0
    return (a < b) ? b : a;
622
0
}
623
624
template <typename T, typename E>
625
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
626
0
    constexpr expected_storage_base() noexcept : m_has_value(true)
627
0
    {
628
0
        construct();
629
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
630
631
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
632
        : m_has_value(false)
633
    {
634
    }
635
636
    template <typename... Args,
637
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
638
    explicit constexpr expected_storage_base(
639
        std::in_place_t,
640
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
641
132k
        : m_has_value(true)
642
132k
    {
643
132k
        construct(std::forward<Args>(args)...);
644
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
57.4k
        : m_has_value(true)
642
57.4k
    {
643
57.4k
        construct(std::forward<Args>(args)...);
644
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
57.3k
        : m_has_value(true)
642
57.3k
    {
643
57.3k
        construct(std::forward<Args>(args)...);
644
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
8.80k
        : m_has_value(true)
642
8.80k
    {
643
8.80k
        construct(std::forward<Args>(args)...);
644
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
641
8.80k
        : m_has_value(true)
642
8.80k
    {
643
8.80k
        construct(std::forward<Args>(args)...);
644
8.80k
    }
645
646
    template <typename... Args,
647
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
648
    explicit constexpr expected_storage_base(
649
        unexpect_t,
650
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
651
30.5k
        : m_has_value(false)
652
30.5k
    {
653
30.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
3.25k
        : m_has_value(false)
652
3.25k
    {
653
3.25k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
3.49k
        : m_has_value(false)
652
3.49k
    {
653
3.49k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
11.8k
        : m_has_value(false)
652
11.8k
    {
653
11.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
651
11.8k
        : m_has_value(false)
652
11.8k
    {
653
11.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
654
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
655
656
    ~expected_storage_base()
657
162k
    {
658
162k
        if (has_value()) {
659
132k
            destroy_value();
660
132k
        }
661
30.5k
        else {
662
30.5k
            destroy_unexpected();
663
30.5k
        }
664
162k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
60.6k
    {
658
60.6k
        if (has_value()) {
659
57.4k
            destroy_value();
660
57.4k
        }
661
3.25k
        else {
662
3.25k
            destroy_unexpected();
663
3.25k
        }
664
60.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
60.8k
    {
658
60.8k
        if (has_value()) {
659
57.3k
            destroy_value();
660
57.3k
        }
661
3.49k
        else {
662
3.49k
            destroy_unexpected();
663
3.49k
        }
664
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
20.7k
    {
658
20.7k
        if (has_value()) {
659
8.80k
            destroy_value();
660
8.80k
        }
661
11.8k
        else {
662
11.8k
            destroy_unexpected();
663
11.8k
        }
664
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
657
20.7k
    {
658
20.7k
        if (has_value()) {
659
8.80k
            destroy_value();
660
8.80k
        }
661
11.8k
        else {
662
11.8k
            destroy_unexpected();
663
11.8k
        }
664
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
665
666
    constexpr T& get_value() & noexcept
667
132k
    {
668
132k
        return *value_ptr();
669
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
57.4k
    {
668
57.4k
        return *value_ptr();
669
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
57.3k
    {
668
57.3k
        return *value_ptr();
669
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
8.80k
    {
668
8.80k
        return *value_ptr();
669
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
667
8.80k
    {
668
8.80k
        return *value_ptr();
669
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
670
    constexpr const T& get_value() const& noexcept
671
    {
672
        return *value_ptr();
673
    }
674
    constexpr T&& get_value() && noexcept
675
0
    {
676
0
        return std::move(*value_ptr());
677
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
678
    constexpr const T&& get_value() const&& noexcept
679
    {
680
        return std::move(*value_ptr());
681
    }
682
683
    constexpr unexpected<E>& get_unexpected() & noexcept
684
30.5k
    {
685
30.5k
        return *unexpected_ptr();
686
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
3.25k
    {
685
3.25k
        return *unexpected_ptr();
686
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
3.49k
    {
685
3.49k
        return *unexpected_ptr();
686
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
11.8k
    {
685
11.8k
        return *unexpected_ptr();
686
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
684
11.8k
    {
685
11.8k
        return *unexpected_ptr();
686
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
687
    constexpr const unexpected<E>& get_unexpected() const& noexcept
688
    {
689
        return *unexpected_ptr();
690
    }
691
    constexpr unexpected<E>&& get_unexpected() && noexcept
692
0
    {
693
0
        return std::move(*unexpected_ptr());
694
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
695
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
696
    {
697
        return std::move(*unexpected_ptr());
698
    }
699
700
    SCN_NODISCARD constexpr bool has_value() const noexcept
701
488k
    {
702
488k
        return m_has_value;
703
488k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
182k
    {
702
182k
        return m_has_value;
703
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
182k
    {
702
182k
        return m_has_value;
703
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
62.1k
    {
702
62.1k
        return m_has_value;
703
62.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
701
62.1k
    {
702
62.1k
        return m_has_value;
703
62.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
704
705
    template <typename... Args>
706
    void construct(Args&&... args) noexcept(
707
        std::is_nothrow_constructible_v<T, Args...>)
708
132k
    {
709
132k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
132k
        m_has_value = true;
711
132k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
57.4k
    {
709
57.4k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
57.4k
        m_has_value = true;
711
57.4k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
57.3k
    {
709
57.3k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
57.3k
        m_has_value = true;
711
57.3k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
8.80k
    {
709
8.80k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
8.80k
        m_has_value = true;
711
8.80k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
708
8.80k
    {
709
8.80k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
710
8.80k
        m_has_value = true;
711
8.80k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
712
    template <typename... Args>
713
    void construct_unexpected(Args&&... args) noexcept(
714
        std::is_nothrow_constructible_v<E, Args...>)
715
30.5k
    {
716
30.5k
        scn::detail::construct_at(unexpected_ptr(),
717
30.5k
                                  std::forward<Args>(args)...);
718
30.5k
        m_has_value = false;
719
30.5k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
3.25k
    {
716
3.25k
        scn::detail::construct_at(unexpected_ptr(),
717
3.25k
                                  std::forward<Args>(args)...);
718
3.25k
        m_has_value = false;
719
3.25k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
3.49k
    {
716
3.49k
        scn::detail::construct_at(unexpected_ptr(),
717
3.49k
                                  std::forward<Args>(args)...);
718
3.49k
        m_has_value = false;
719
3.49k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
11.8k
    {
716
11.8k
        scn::detail::construct_at(unexpected_ptr(),
717
11.8k
                                  std::forward<Args>(args)...);
718
11.8k
        m_has_value = false;
719
11.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
715
11.8k
    {
716
11.8k
        scn::detail::construct_at(unexpected_ptr(),
717
11.8k
                                  std::forward<Args>(args)...);
718
11.8k
        m_has_value = false;
719
11.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
720
721
    void destroy_value() noexcept
722
132k
    {
723
132k
        scn::detail::destroy_at(value_ptr());
724
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
57.4k
    {
723
57.4k
        scn::detail::destroy_at(value_ptr());
724
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
57.3k
    {
723
57.3k
        scn::detail::destroy_at(value_ptr());
724
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
8.80k
    {
723
8.80k
        scn::detail::destroy_at(value_ptr());
724
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
722
8.80k
    {
723
8.80k
        scn::detail::destroy_at(value_ptr());
724
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
725
    void destroy_unexpected() noexcept
726
30.5k
    {
727
30.5k
        scn::detail::destroy_at(unexpected_ptr());
728
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
3.25k
    {
727
3.25k
        scn::detail::destroy_at(unexpected_ptr());
728
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
3.49k
    {
727
3.49k
        scn::detail::destroy_at(unexpected_ptr());
728
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
11.8k
    {
727
11.8k
        scn::detail::destroy_at(unexpected_ptr());
728
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
726
11.8k
    {
727
11.8k
        scn::detail::destroy_at(unexpected_ptr());
728
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
729
730
private:
731
    T* value_ptr() noexcept
732
397k
    {
733
397k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
397k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
172k
    {
733
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
172k
    {
733
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
26.4k
    {
733
26.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
26.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
732
26.4k
    {
733
26.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
734
26.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
735
    const T* value_ptr() const noexcept
736
    {
737
        return reinterpret_cast<const T*>(
738
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
739
    }
740
741
    SCN_GCC_PUSH
742
    SCN_GCC_IGNORE("-Wcast-align")
743
    unexpected<E>* unexpected_ptr() noexcept
744
91.6k
    {
745
91.6k
        return reinterpret_cast<unexpected<E>*>(
746
91.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
91.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
9.77k
    {
745
9.77k
        return reinterpret_cast<unexpected<E>*>(
746
9.77k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
9.77k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
10.4k
    {
745
10.4k
        return reinterpret_cast<unexpected<E>*>(
746
10.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
10.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
35.6k
    {
745
35.6k
        return reinterpret_cast<unexpected<E>*>(
746
35.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
35.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
744
35.6k
    {
745
35.6k
        return reinterpret_cast<unexpected<E>*>(
746
35.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
747
35.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
748
    const unexpected<E>* unexpected_ptr() const noexcept
749
    {
750
        return reinterpret_cast<const unexpected<E>*>(
751
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
752
    }
753
    SCN_GCC_POP
754
755
    static constexpr std::size_t required_size =
756
        detail::max(sizeof(T), sizeof(unexpected<E>));
757
    static constexpr std::size_t required_alignment =
758
        detail::max(alignof(T), alignof(unexpected<E>));
759
760
    alignas(required_alignment) unsigned char m_memory[required_size];
761
    bool m_has_value;
762
};
763
764
template <typename E>
765
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
766
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
767
768
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
769
        : m_has_value(false)
770
    {
771
    }
772
773
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
774
        : m_has_value(true)
775
    {
776
    }
777
778
    template <typename... Args,
779
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
780
    explicit constexpr expected_storage_base(
781
        unexpect_t,
782
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
783
        : m_has_value(false)
784
    {
785
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
786
    }
787
788
    ~expected_storage_base()
789
    {
790
        if (!has_value()) {
791
            destroy_unexpected();
792
        }
793
    }
794
795
    constexpr unexpected<E>& get_unexpected() & noexcept
796
    {
797
        return *unexpected_ptr();
798
    }
799
    constexpr const unexpected<E>& get_unexpected() const& noexcept
800
    {
801
        return *unexpected_ptr();
802
    }
803
    constexpr unexpected<E>&& get_unexpected() && noexcept
804
    {
805
        return std::move(*unexpected_ptr());
806
    }
807
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
808
    {
809
        return std::move(*unexpected_ptr());
810
    }
811
812
    SCN_NODISCARD constexpr bool has_value() const noexcept
813
    {
814
        return m_has_value;
815
    }
816
817
    template <typename... Args>
818
    constexpr void construct(Args&&...) noexcept
819
    {
820
        m_has_value = true;
821
    }
822
    template <typename... Args>
823
    void construct_unexpected(Args&&... args) noexcept(
824
        std::is_nothrow_constructible_v<E, Args...>)
825
    {
826
        scn::detail::construct_at(unexpected_ptr(),
827
                                  std::forward<Args>(args)...);
828
        m_has_value = false;
829
    }
830
831
    static constexpr void destroy_value() noexcept {}
832
    void destroy_unexpected() noexcept
833
    {
834
        scn::detail::destroy_at(unexpected_ptr());
835
    }
836
837
private:
838
    SCN_GCC_PUSH
839
    SCN_GCC_IGNORE("-Wcast-align")
840
    unexpected<E>* unexpected_ptr()
841
    {
842
        return reinterpret_cast<unexpected<E>*>(m_memory);
843
    }
844
    const unexpected<E>* unexpected_ptr() const
845
    {
846
        return reinterpret_cast<const unexpected<E>*>(m_memory);
847
    }
848
    SCN_GCC_POP
849
850
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
851
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
852
853
    alignas(required_alignment) unsigned char m_memory[required_size];
854
    bool m_has_value;
855
};
856
857
template <typename T, typename U>
858
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
859
860
template <typename T, typename E, typename Enable = void>
861
struct expected_operations_base;
862
863
template <typename T, typename E>
864
struct SCN_TRIVIAL_ABI expected_operations_base<
865
    T,
866
    E,
867
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
868
                     std::is_trivially_copyable_v<E>>>
869
    : expected_storage_base<T, E> {
870
    using expected_storage_base<T, E>::expected_storage_base;
871
};
872
873
template <typename T, typename E>
874
struct SCN_TRIVIAL_ABI expected_operations_base<
875
    T,
876
    E,
877
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
878
                                            !std::is_trivially_copyable_v<E>)>>
879
    : expected_storage_base<T, E> {
880
    using expected_storage_base<T, E>::expected_storage_base;
881
882
    expected_operations_base(const expected_operations_base& other) noexcept(
883
        std::is_nothrow_copy_constructible_v<T> &&
884
        std::is_nothrow_copy_constructible_v<E>)
885
        : expected_storage_base<T, E>(deferred_init_tag)
886
    {
887
        construct_common(other);
888
    }
889
    expected_operations_base(expected_operations_base&& other) noexcept(
890
        std::is_nothrow_move_constructible_v<T> &&
891
        std::is_nothrow_move_constructible_v<E>)
892
        : expected_storage_base<T, E>(deferred_init_tag)
893
    {
894
        construct_common(std::move(other));
895
    }
896
897
    expected_operations_base& operator=(const expected_operations_base& other)
898
    // gcc 11 and lower evaluate noexcept in a weird context
899
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
900
        noexcept(noexcept(
901
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
902
#else
903
        noexcept(noexcept(assign_common(other)))
904
#endif
905
    {
906
        assign_common(other);
907
        return *this;
908
    }
909
    expected_operations_base& operator=(expected_operations_base&& other)
910
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
911
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
912
                              .assign_common(std::move(other))))
913
#else
914
        noexcept(noexcept(assign_common(std::move(other))))
915
#endif
916
520k
    {
917
520k
        assign_common(std::move(other));
918
520k
        return *this;
919
520k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
14.4k
    {
917
14.4k
        assign_common(std::move(other));
918
14.4k
        return *this;
919
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
916
28.8k
    {
917
28.8k
        assign_common(std::move(other));
918
28.8k
        return *this;
919
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
920
921
    ~expected_operations_base() = default;
922
923
private:
924
    template <typename Other>
925
    void construct_common(Other&& other) noexcept(
926
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
927
                     .construct(std::forward<Other>(other).get_value())) &&
928
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
929
                     .construct_unexpected(
930
                         std::forward<Other>(other).get_unexpected())))
931
0
    {
932
0
        if (other.has_value()) {
933
0
            this->construct(std::forward<Other>(other).get_value());
934
0
        }
935
0
        else {
936
0
            this->construct_unexpected(
937
0
                std::forward<Other>(other).get_unexpected());
938
0
        }
939
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
940
941
    template <typename Other>
942
    void assign_common(Other&& other)
943
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
944
        noexcept(
945
            noexcept(SCN_DECLVAL(expected_operations_base&)
946
                         .reassign_value(std::forward<Other>(other))) &&
947
            noexcept(SCN_DECLVAL(expected_operations_base&)
948
                         .reassign_unexpected(std::forward<Other>(other))) &&
949
            noexcept(SCN_DECLVAL(expected_operations_base&)
950
                         .assign_value_over_unexpected(
951
                             std::forward<Other>(other))) &&
952
            noexcept(
953
                SCN_DECLVAL(expected_operations_base&)
954
                    .assign_unexpected_over_value(std::forward<Other>(other))))
955
#else
956
        noexcept(
957
            noexcept(reassign_value(std::forward<Other>(other))) &&
958
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
959
            noexcept(
960
                assign_value_over_unexpected(std::forward<Other>(other))) &&
961
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
962
#endif
963
520k
    {
964
520k
        if (this->has_value()) {
965
520k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
520k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
520k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
14.4k
    {
964
14.4k
        if (this->has_value()) {
965
14.4k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
14.4k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
963
28.8k
    {
964
28.8k
        if (this->has_value()) {
965
28.8k
            if (other.has_value()) {
966
0
                return reassign_value(std::forward<Other>(other));
967
0
            }
968
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
969
28.8k
        }
970
971
0
        if (other.has_value()) {
972
0
            return assign_value_over_unexpected(std::forward<Other>(other));
973
0
        }
974
0
        return reassign_unexpected(std::forward<Other>(other));
975
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
976
977
    template <typename Other>
978
    void reassign_value(Other&& other) noexcept(
979
        std::is_nothrow_assignable_v<
980
            T,
981
            decltype(std::forward<Other>(other).get_value())>)
982
0
    {
983
0
        this->get_value() = std::forward<Other>(other).get_value();
984
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
985
986
    template <typename Other>
987
    void reassign_unexpected(Other&& other) noexcept(
988
        std::is_nothrow_assignable_v<
989
            E,
990
            decltype(std::forward<Other>(other).get_unexpected())>)
991
0
    {
992
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
993
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
994
995
#if SCN_HAS_EXCEPTIONS
996
    void assign_value_over_unexpected(
997
        const expected_operations_base&
998
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
999
                            std::is_nothrow_move_constructible_v<T>)
1000
    {
1001
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
1002
            this->destroy_unexpected();
1003
            this->construct(other.get_value());
1004
        }
1005
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
1006
            T tmp = other.get_value();
1007
            this->destroy_unexpected();
1008
            this->construct(std::move(tmp));
1009
        }
1010
        else {
1011
            auto tmp = std::move(this->get_unexpecetd());
1012
            this->destroy_unexpected();
1013
1014
            try {
1015
                this->construct(other.get());
1016
            }
1017
            catch (...) {
1018
                this->construct_unexpected(std::move(tmp));
1019
                throw;
1020
            }
1021
        }
1022
    }
1023
1024
    void
1025
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1026
        std::is_nothrow_move_constructible_v<T>)
1027
0
    {
1028
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1029
0
            this->destroy_unexpected();
1030
0
            this->construct(std::move(other).get_value());
1031
        }
1032
        else {
1033
            auto tmp = std::move(this->get_unexpected());
1034
            this->destroy_unexpected();
1035
1036
            try {
1037
                this->construct(std::move(other).get_value());
1038
            }
1039
            catch (...) {
1040
                this->construct_unexpected(std::move(tmp));
1041
                throw;
1042
            }
1043
        }
1044
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1045
#else
1046
    template <typename Other>
1047
    void assing_value_over_unexpected(Other&& other) noexcept
1048
    {
1049
        this->destroy_unexpected();
1050
        this->construct_value(std::forward<Other>(other).get_value());
1051
    }
1052
#endif
1053
1054
    template <typename Other>
1055
    void assign_unexpected_over_value(Other&& other) noexcept(
1056
        std::is_nothrow_constructible_v<
1057
            E,
1058
            decltype(std::forward<Other>(other).get_unexpected())>)
1059
520k
    {
1060
520k
        this->destroy_value();
1061
520k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
520k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
14.4k
    {
1060
14.4k
        this->destroy_value();
1061
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1059
28.8k
    {
1060
28.8k
        this->destroy_value();
1061
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1062
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1063
};
1064
1065
template <typename E>
1066
struct SCN_TRIVIAL_ABI
1067
    expected_operations_base<void,
1068
                             E,
1069
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1070
    : expected_storage_base<void, E> {
1071
    using expected_storage_base<void, E>::expected_storage_base;
1072
1073
    expected_operations_base(const expected_operations_base& other) noexcept(
1074
        std::is_nothrow_copy_constructible_v<E>)
1075
        : expected_storage_base<void, E>(deferred_init_tag)
1076
    {
1077
        construct_common(other);
1078
    }
1079
    expected_operations_base(expected_operations_base&& other) noexcept(
1080
        std::is_nothrow_move_constructible_v<E>)
1081
        : expected_storage_base<void, E>(deferred_init_tag)
1082
    {
1083
        construct_common(std::move(other));
1084
    }
1085
1086
    expected_operations_base& operator=(const expected_operations_base& other)
1087
    // gcc 11 and lower evaluate noexcept in a weird context
1088
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1089
        noexcept(noexcept(
1090
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1091
#else
1092
        noexcept(noexcept(assign_common(other)))
1093
#endif
1094
    {
1095
        assign_common(other);
1096
        return *this;
1097
    }
1098
    expected_operations_base& operator=(expected_operations_base&& other)
1099
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1100
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1101
                              .assign_common(std::move(other))))
1102
#else
1103
        noexcept(noexcept(assign_common(std::move(other))))
1104
#endif
1105
    {
1106
        assign_common(std::move(other));
1107
        return *this;
1108
    }
1109
1110
    ~expected_operations_base() = default;
1111
1112
private:
1113
    template <typename Other>
1114
    void construct_common(Other&& other) noexcept(
1115
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1116
            std::forward<Other>(other).get_unexpected())))
1117
    {
1118
        if (other.has_value()) {
1119
            this->construct();
1120
        }
1121
        else {
1122
            this->construct_unexpected(
1123
                std::forward<Other>(other).get_unexpected());
1124
        }
1125
    }
1126
1127
    template <typename Other>
1128
    void assign_common(Other&& other)
1129
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1130
        noexcept(
1131
            noexcept(SCN_DECLVAL(expected_operations_base&)
1132
                         .reassign_unexpected(std::forward<Other>(other))) &&
1133
            noexcept(
1134
                SCN_DECLVAL(expected_operations_base&)
1135
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1136
#else
1137
        noexcept(
1138
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1139
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1140
#endif
1141
    {
1142
        if (this->has_value()) {
1143
            if (other.has_value()) {
1144
                return reassign_value();
1145
            }
1146
            return assign_unexpected_over_value(std::forward<Other>(other));
1147
        }
1148
1149
        if (other.has_value()) {
1150
            return assign_value_over_unexpected();
1151
        }
1152
        return reassign_unexpected(std::forward<Other>(other));
1153
    }
1154
1155
    void reassign_value() noexcept {}
1156
1157
    template <typename Other>
1158
    void reassign_unexpected(Other&& other) noexcept(
1159
        std::is_nothrow_assignable_v<
1160
            E,
1161
            decltype(std::forward<Other>(other).get_unexpected())>)
1162
    {
1163
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1164
    }
1165
1166
    void assign_value_over_unexpected() noexcept
1167
    {
1168
        this->destroy_unexpected();
1169
        this->construct();
1170
    }
1171
1172
    template <typename Other>
1173
    void assign_unexpected_over_value(Other&& other) noexcept(
1174
        std::is_nothrow_constructible_v<
1175
            E,
1176
            decltype(std::forward<Other>(other).get_unexpected())>)
1177
    {
1178
        this->destroy_value();
1179
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1180
    }
1181
};
1182
1183
/*
1184
 * Base class trickery to conditionally mark copy and move
1185
 * constructors of an expected as =deleted.
1186
 *
1187
 * We need to do this, because otherwise utilities like
1188
 * std::is_copy_constructible wouldn't work for expected: the
1189
 * constructors need to be explicitly =deleted, not just cause a
1190
 * compiler error when trying to copy a value of a non-copyable
1191
 * type.
1192
 *
1193
 * Rationale for doing this with base classes is above.
1194
 */
1195
template <
1196
    typename T,
1197
    typename E,
1198
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1199
                       std::is_copy_constructible_v<E>),
1200
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1201
                       std::is_move_constructible_v<E>)>
1202
struct expected_delete_ctor_base;
1203
1204
// Implementation for types that are both copy and move
1205
// constructible: Copy and move constructors are =defaulted
1206
template <typename T, typename E>
1207
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1208
    expected_delete_ctor_base() = default;
1209
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1210
        default;
1211
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1212
    ~expected_delete_ctor_base() = default;
1213
1214
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1215
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1216
};
1217
1218
// Implementation for types that are neither copy nor move
1219
// constructible: Copy and move constructors are =deleted
1220
template <typename T, typename E>
1221
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1222
    expected_delete_ctor_base() = default;
1223
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1224
        default;
1225
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1226
    ~expected_delete_ctor_base() = default;
1227
1228
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1229
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1230
};
1231
1232
// Implementation for types that are move constructible, but not
1233
// copy constructible Copy constructor is =deleted, but move
1234
// constructor is =defaulted
1235
template <typename T, typename E>
1236
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1237
    expected_delete_ctor_base() = default;
1238
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1239
        default;
1240
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1241
    ~expected_delete_ctor_base() = default;
1242
1243
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1244
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1245
};
1246
1247
template <typename T, typename E>
1248
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1249
    static_assert(dependent_false<T>::value,
1250
                  "Nonsensical type: copy constructible, but not move "
1251
                  "constructible");
1252
};
1253
1254
// Same as above, but for assignment
1255
template <
1256
    typename T,
1257
    typename E,
1258
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1259
                       std::is_copy_constructible_v<E> &&
1260
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1261
                       std::is_copy_assignable_v<E>),
1262
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1263
                       std::is_move_constructible_v<E> &&
1264
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1265
                       std::is_move_assignable_v<E>)>
1266
struct expected_delete_assign_base;
1267
1268
template <typename T, typename E>
1269
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1270
    expected_delete_assign_base() = default;
1271
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1272
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1273
    ~expected_delete_assign_base() = default;
1274
1275
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1276
        default;
1277
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1278
        default;
1279
};
1280
1281
template <typename T, typename E>
1282
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1283
    expected_delete_assign_base() = default;
1284
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1285
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1286
    ~expected_delete_assign_base() = default;
1287
1288
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1289
        delete;
1290
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1291
        delete;
1292
};
1293
1294
template <typename T, typename E>
1295
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1296
    expected_delete_assign_base() = default;
1297
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1298
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1299
    ~expected_delete_assign_base() = default;
1300
1301
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1302
        delete;
1303
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1304
        default;
1305
};
1306
1307
template <typename T, typename E>
1308
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1309
    static_assert(dependent_false<T>::value,
1310
                  "Nonsensical type: copy assignable, but not move "
1311
                  "assignable");
1312
};
1313
1314
struct non_default_ctor_tag_t {};
1315
1316
/*
1317
 * Same as above, but for the default constructor
1318
 *
1319
 * The constructor taking a non_default_ctor_tag_t is needed, to
1320
 * signal that we're not default constructing.
1321
 */
1322
template <typename T,
1323
          typename E,
1324
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1325
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1326
    constexpr expected_default_ctor_base() = default;
1327
    constexpr explicit expected_default_ctor_base(
1328
        non_default_ctor_tag_t) noexcept
1329
20.5M
    {
1330
20.5M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
450k
    {
1330
450k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
449k
    {
1330
449k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
14.4k
    {
1330
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
184k
    {
1330
184k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
184k
    {
1330
184k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
28.8k
    {
1330
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.48M
    {
1330
1.48M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
486k
    {
1330
486k
    }
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.26M
    {
1330
1.26M
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
2.67M
    {
1330
2.67M
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
618k
    {
1330
618k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
777k
    {
1330
777k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.28M
    {
1330
1.28M
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
604k
    {
1330
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
1.61M
    {
1330
1.61M
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
412k
    {
1330
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
412k
    {
1330
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
412k
    {
1330
412k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
60.6k
    {
1330
60.6k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
947k
    {
1330
947k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
604k
    {
1330
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
968k
    {
1330
968k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
414k
    {
1330
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
414k
    {
1330
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
414k
    {
1330
414k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
60.8k
    {
1330
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
402k
    {
1330
402k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
119k
    {
1330
119k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
508k
    {
1330
508k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
20.7k
    {
1330
20.7k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
402k
    {
1330
402k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
119k
    {
1330
119k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
400k
    {
1330
400k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
133k
    {
1330
133k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1329
20.7k
    {
1330
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1331
};
1332
template <typename T, typename E>
1333
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1334
    constexpr expected_default_ctor_base() = delete;
1335
    constexpr explicit expected_default_ctor_base(
1336
        non_default_ctor_tag_t) noexcept
1337
    {
1338
    }
1339
};
1340
1341
template <typename T>
1342
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1343
1344
template <typename T>
1345
struct is_expected_impl : std::false_type {};
1346
template <typename T, typename E>
1347
struct is_expected_impl<expected<T, E>> : std::true_type {};
1348
template <typename T>
1349
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1350
1351
template <typename Exp>
1352
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1353
1354
template <typename Exp>
1355
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1356
1357
template <
1358
    typename F,
1359
    typename... Args,
1360
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1361
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1362
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1363
208k
{
1364
208k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
208k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1363
26.7k
{
1364
26.7k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
26.7k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1363
49.1k
{
1364
49.1k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
49.1k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1363
133k
{
1364
133k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1365
133k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1366
1367
// and_then
1368
1369
template <typename Exp,
1370
          typename F,
1371
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1372
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1373
                                                 *SCN_DECLVAL(Exp)))>
1374
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1375
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1376
    std::is_nothrow_constructible_v<Ret,
1377
                                    unexpect_t,
1378
                                    decltype(std::forward<Exp>(exp).error())>)
1379
{
1380
    static_assert(is_expected<Ret>::value, "F must return an expected");
1381
1382
    return SCN_LIKELY(exp.has_value())
1383
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1384
               : Ret(unexpect, std::forward<Exp>(exp).error());
1385
}
1386
template <typename Exp,
1387
          typename F,
1388
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1389
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1390
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1391
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1392
    std::is_nothrow_constructible_v<Ret,
1393
                                    unexpect_t,
1394
                                    decltype(std::forward<Exp>(exp).error())>)
1395
{
1396
    static_assert(is_expected<Ret>::value, "F must return an expected");
1397
1398
    return SCN_LIKELY(exp.has_value())
1399
               ? trivial_invoke(std::forward<F>(f))
1400
               : Ret(unexpect, std::forward<Exp>(exp).error());
1401
}
1402
1403
// or_else
1404
1405
template <typename Exp,
1406
          typename F,
1407
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1408
                                                 SCN_DECLVAL(Exp).error()))>
1409
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1410
    noexcept(trivial_invoke(std::forward<F>(f),
1411
                            std::forward<Exp>(exp).error())) &&
1412
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1413
{
1414
    static_assert(is_expected<Ret>::value, "F must return an expected");
1415
1416
    return SCN_LIKELY(exp.has_value())
1417
               ? Ret(std::forward<Exp>(exp))
1418
               : trivial_invoke(std::forward<F>(f),
1419
                                std::forward<Exp>(exp).error());
1420
}
1421
1422
// transform
1423
1424
template <typename Exp,
1425
          typename F,
1426
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1427
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1428
                                                 *SCN_DECLVAL(Exp)))>
1429
constexpr auto transform_impl(Exp&& exp, F&& f)
1430
{
1431
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1432
    if constexpr (std::is_void_v<Ret>) {
1433
        if (SCN_LIKELY(exp.has_value())) {
1434
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1435
            return result();
1436
        }
1437
        return result(unexpect, std::forward<Exp>(exp).error());
1438
    }
1439
    else {
1440
        return SCN_LIKELY(exp.has_value())
1441
                   ? result(trivial_invoke(std::forward<F>(f),
1442
                                           *std::forward<Exp>(exp)))
1443
                   : result(unexpect, std::forward<Exp>(exp).error());
1444
    }
1445
}
1446
template <typename Exp,
1447
          typename F,
1448
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1449
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1450
constexpr auto transform_impl(Exp&& exp, F&& f)
1451
{
1452
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1453
    if constexpr (std::is_void_v<Ret>) {
1454
        if (SCN_LIKELY(exp.has_value())) {
1455
            trivial_invoke(std::forward<F>(f));
1456
            return result();
1457
        }
1458
        return result(unexpect, std::forward<Exp>(exp).error());
1459
    }
1460
    else {
1461
        return SCN_LIKELY(exp.has_value())
1462
                   ? result(trivial_invoke(std::forward<F>(f)))
1463
                   : result(unexpect, std::forward<Exp>(exp).error());
1464
    }
1465
}
1466
1467
// transform_error
1468
1469
template <typename Exp,
1470
          typename F,
1471
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1472
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1473
                                                 SCN_DECLVAL(Exp).error()))>
1474
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1475
3.16M
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
3.16M
    else {
1486
3.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
3.16M
        return SCN_LIKELY(exp.has_value())
1488
3.16M
                   ? result(*std::forward<Exp>(exp))
1489
3.16M
                   : result(unexpect,
1490
208k
                            trivial_invoke(std::forward<F>(f),
1491
208k
                                           std::forward<Exp>(exp).error()));
1492
3.16M
    }
1493
3.16M
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
424k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
424k
    else {
1486
424k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
424k
        return SCN_LIKELY(exp.has_value())
1488
424k
                   ? result(*std::forward<Exp>(exp))
1489
424k
                   : result(unexpect,
1490
12.0k
                            trivial_invoke(std::forward<F>(f),
1491
12.0k
                                           std::forward<Exp>(exp).error()));
1492
424k
    }
1493
424k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
135k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
135k
    else {
1486
135k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
135k
        return SCN_LIKELY(exp.has_value())
1488
135k
                   ? result(*std::forward<Exp>(exp))
1489
135k
                   : result(unexpect,
1490
1.76k
                            trivial_invoke(std::forward<F>(f),
1491
1.76k
                                           std::forward<Exp>(exp).error()));
1492
135k
    }
1493
135k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
425k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
425k
    else {
1486
425k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
425k
        return SCN_LIKELY(exp.has_value())
1488
425k
                   ? result(*std::forward<Exp>(exp))
1489
425k
                   : result(unexpect,
1490
11.1k
                            trivial_invoke(std::forward<F>(f),
1491
11.1k
                                           std::forward<Exp>(exp).error()));
1492
425k
    }
1493
425k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
336k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
336k
    else {
1486
336k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
336k
        return SCN_LIKELY(exp.has_value())
1488
336k
                   ? result(*std::forward<Exp>(exp))
1489
336k
                   : result(unexpect,
1490
11.4k
                            trivial_invoke(std::forward<F>(f),
1491
11.4k
                                           std::forward<Exp>(exp).error()));
1492
336k
    }
1493
336k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
412k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
412k
    else {
1486
412k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
412k
        return SCN_LIKELY(exp.has_value())
1488
412k
                   ? result(*std::forward<Exp>(exp))
1489
412k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
412k
    }
1493
412k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1475
309k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
309k
    else {
1486
309k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
309k
        return SCN_LIKELY(exp.has_value())
1488
309k
                   ? result(*std::forward<Exp>(exp))
1489
309k
                   : result(unexpect,
1490
28.2k
                            trivial_invoke(std::forward<F>(f),
1491
28.2k
                                           std::forward<Exp>(exp).error()));
1492
309k
    }
1493
309k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1475
414k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
414k
    else {
1486
414k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
414k
        return SCN_LIKELY(exp.has_value())
1488
414k
                   ? result(*std::forward<Exp>(exp))
1489
414k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
414k
    }
1493
414k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1475
100k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
100k
    else {
1486
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
100k
        return SCN_LIKELY(exp.has_value())
1488
100k
                   ? result(*std::forward<Exp>(exp))
1489
100k
                   : result(unexpect,
1490
18.8k
                            trivial_invoke(std::forward<F>(f),
1491
18.8k
                                           std::forward<Exp>(exp).error()));
1492
100k
    }
1493
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1475
133k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
133k
    else {
1486
133k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
133k
        return SCN_LIKELY(exp.has_value())
1488
133k
                   ? result(*std::forward<Exp>(exp))
1489
133k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
133k
    }
1493
133k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1475
107k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
107k
    else {
1486
107k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
107k
        return SCN_LIKELY(exp.has_value())
1488
107k
                   ? result(*std::forward<Exp>(exp))
1489
107k
                   : result(unexpect,
1490
104k
                            trivial_invoke(std::forward<F>(f),
1491
104k
                                           std::forward<Exp>(exp).error()));
1492
107k
    }
1493
107k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
135k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
135k
    else {
1486
135k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
135k
        return SCN_LIKELY(exp.has_value())
1488
135k
                   ? result(*std::forward<Exp>(exp))
1489
135k
                   : result(unexpect,
1490
1.76k
                            trivial_invoke(std::forward<F>(f),
1491
1.76k
                                           std::forward<Exp>(exp).error()));
1492
135k
    }
1493
135k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1475
100k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
100k
    else {
1486
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
100k
        return SCN_LIKELY(exp.has_value())
1488
100k
                   ? result(*std::forward<Exp>(exp))
1489
100k
                   : result(unexpect,
1490
18.8k
                            trivial_invoke(std::forward<F>(f),
1491
18.8k
                                           std::forward<Exp>(exp).error()));
1492
100k
    }
1493
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1475
133k
{
1476
    if constexpr (std::is_void_v<Ret>) {
1477
        using result = expected<expected_value_type<Exp>, monostate>;
1478
        if (SCN_LIKELY(exp.has_value())) {
1479
            return result(*std::forward<Exp>(exp));
1480
        }
1481
1482
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1483
        return result(unexpect, monostate{});
1484
    }
1485
133k
    else {
1486
133k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1487
133k
        return SCN_LIKELY(exp.has_value())
1488
133k
                   ? result(*std::forward<Exp>(exp))
1489
133k
                   : result(unexpect,
1490
0
                            trivial_invoke(std::forward<F>(f),
1491
0
                                           std::forward<Exp>(exp).error()));
1492
133k
    }
1493
133k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1494
template <typename Exp,
1495
          typename F,
1496
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1497
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1498
                                                 SCN_DECLVAL(Exp).error()))>
1499
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1500
{
1501
    if constexpr (std::is_void_v<Ret>) {
1502
        using result = expected<expected_value_type<Exp>, monostate>;
1503
        if (SCN_LIKELY(exp.has_value())) {
1504
            return result();
1505
        }
1506
1507
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1508
        return result(unexpect, monostate{});
1509
    }
1510
    else {
1511
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1512
        return SCN_LIKELY(exp.has_value())
1513
                   ? result()
1514
                   : result(unexpect,
1515
                            trivial_invoke(std::forward<F>(f),
1516
                                           std::forward<Exp>(exp).error()));
1517
    }
1518
}
1519
1520
template <class T, class E, class U, class G, class UR, class GR>
1521
using enable_from_other =
1522
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1523
                     std::is_constructible_v<E, GR> &&
1524
                     !std::is_constructible_v<T, expected<U, G>&> &&
1525
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1526
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1527
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1528
                     !std::is_convertible_v<expected<U, G>&, T> &&
1529
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1530
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1531
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1532
}  // namespace detail
1533
1534
/**
1535
 * \see `std::expected`
1536
 */
1537
template <typename T, typename E>
1538
class SCN_TRIVIAL_ABI expected
1539
    : private detail::expected_operations_base<T, E>,
1540
      private detail::expected_delete_ctor_base<T, E>,
1541
      private detail::expected_delete_assign_base<T, E>,
1542
      private detail::expected_default_ctor_base<T, E> {
1543
    using base = detail::expected_operations_base<T, E>;
1544
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1545
1546
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1547
                  "T must be void or Destructible");
1548
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1549
1550
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1551
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1552
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1553
1554
public:
1555
    using value_type = T;
1556
    using error_type = E;
1557
    using unexpected_type = unexpected<E>;
1558
1559
    template <typename U>
1560
    using rebind = expected<U, error_type>;
1561
1562
    // Special member functions are defaulted, implementations provided
1563
    // by base classes
1564
1565
5.81M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
85.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
69.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
87.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
85.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
69.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
86.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.9k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.9k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1565
30.8k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1565
4.54M
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1566
1567
    constexpr expected(const expected&) = default;
1568
    constexpr expected(expected&&) = default;
1569
    constexpr expected& operator=(const expected&) = default;
1570
520k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1570
28.8k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1571
1572
    ~expected() = default;
1573
1574
    /**
1575
     * Construct an expected value.
1576
     * Intentionally non-explicit, to make constructing an expected
1577
     * value as transparent as possible.
1578
     */
1579
    template <typename U = value_type,
1580
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1581
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1582
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1583
14.6M
        : base(std::in_place, std::forward<U>(val)),
1584
14.6M
          ctor_base(detail::non_default_ctor_tag_t{})
1585
14.6M
    {
1586
14.6M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1583
363k
        : base(std::in_place, std::forward<U>(val)),
1584
363k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
363k
    {
1586
363k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1583
362k
        : base(std::in_place, std::forward<U>(val)),
1584
362k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
362k
    {
1586
362k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1583
11.3k
        : base(std::in_place, std::forward<U>(val)),
1584
11.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
11.3k
    {
1586
11.3k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1583
11.3k
        : base(std::in_place, std::forward<U>(val)),
1584
11.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
11.3k
    {
1586
11.3k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1583
1.33M
        : base(std::in_place, std::forward<U>(val)),
1584
1.33M
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.33M
    {
1586
1.33M
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1583
158k
        : base(std::in_place, std::forward<U>(val)),
1584
158k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
158k
    {
1586
158k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
2.50M
        : base(std::in_place, std::forward<U>(val)),
1584
2.50M
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.50M
    {
1586
2.50M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
289k
        : base(std::in_place, std::forward<U>(val)),
1584
289k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
289k
    {
1586
289k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1583
1.25M
        : base(std::in_place, std::forward<U>(val)),
1584
1.25M
          ctor_base(detail::non_default_ctor_tag_t{})
1585
1.25M
    {
1586
1.25M
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1583
595k
        : base(std::in_place, std::forward<U>(val)),
1584
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
595k
    {
1586
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1583
139k
        : base(std::in_place, std::forward<U>(val)),
1584
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
139k
    {
1586
139k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
412k
        : base(std::in_place, std::forward<U>(val)),
1584
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
412k
    {
1586
412k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1583
609k
        : base(std::in_place, std::forward<U>(val)),
1584
609k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
609k
    {
1586
609k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1583
412k
        : base(std::in_place, std::forward<U>(val)),
1584
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
412k
    {
1586
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1583
412k
        : base(std::in_place, std::forward<U>(val)),
1584
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
412k
    {
1586
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
57.4k
        : base(std::in_place, std::forward<U>(val)),
1584
57.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
57.4k
    {
1586
57.4k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
936k
        : base(std::in_place, std::forward<U>(val)),
1584
936k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
936k
    {
1586
936k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1583
595k
        : base(std::in_place, std::forward<U>(val)),
1584
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
595k
    {
1586
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1583
139k
        : base(std::in_place, std::forward<U>(val)),
1584
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
139k
    {
1586
139k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
414k
        : base(std::in_place, std::forward<U>(val)),
1584
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
414k
    {
1586
414k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1583
2.59k
        : base(std::in_place, std::forward<U>(val)),
1584
2.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
2.59k
    {
1586
2.59k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1583
414k
        : base(std::in_place, std::forward<U>(val)),
1584
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
414k
    {
1586
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1583
414k
        : base(std::in_place, std::forward<U>(val)),
1584
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
414k
    {
1586
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
57.3k
        : base(std::in_place, std::forward<U>(val)),
1584
57.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
57.3k
    {
1586
57.3k
    }
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1583
749k
        : base(std::in_place, std::forward<U>(val)),
1584
749k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
749k
    {
1586
749k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1583
381k
        : base(std::in_place, std::forward<U>(val)),
1584
381k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
381k
    {
1586
381k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1583
118k
        : base(std::in_place, std::forward<U>(val)),
1584
118k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
118k
    {
1586
118k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1583
10.6k
        : base(std::in_place, std::forward<U>(val)),
1584
10.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
10.6k
    {
1586
10.6k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1583
84.0k
        : base(std::in_place, std::forward<U>(val)),
1584
84.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
84.0k
    {
1586
84.0k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
8.80k
        : base(std::in_place, std::forward<U>(val)),
1584
8.80k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
8.80k
    {
1586
8.80k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
381k
        : base(std::in_place, std::forward<U>(val)),
1584
381k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
381k
    {
1586
381k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1583
118k
        : base(std::in_place, std::forward<U>(val)),
1584
118k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
118k
    {
1586
118k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1583
10.6k
        : base(std::in_place, std::forward<U>(val)),
1584
10.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
10.6k
    {
1586
10.6k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1583
81.2k
        : base(std::in_place, std::forward<U>(val)),
1584
81.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
81.2k
    {
1586
81.2k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1583
133k
        : base(std::in_place, std::forward<U>(val)),
1584
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
133k
    {
1586
133k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1583
8.80k
        : base(std::in_place, std::forward<U>(val)),
1584
8.80k
          ctor_base(detail::non_default_ctor_tag_t{})
1585
8.80k
    {
1586
8.80k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<unsigned long, void>(unsigned long&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1587
1588
    /// Construct an expected value directly in-place
1589
    template <typename... Args,
1590
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1591
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1592
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1593
        : base(std::in_place, std::forward<Args>(args)...),
1594
          ctor_base(detail::non_default_ctor_tag_t{})
1595
    {
1596
    }
1597
1598
    template <typename G = E,
1599
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1600
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1601
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1602
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1603
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1604
    {
1605
    }
1606
    template <typename G = E,
1607
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1608
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1609
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1610
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1611
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1612
    {
1613
    }
1614
1615
    template <typename G = E,
1616
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1617
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1618
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1619
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1620
        : base(unexpect, std::move(e.error())),
1621
          ctor_base(detail::non_default_ctor_tag_t{})
1622
    {
1623
    }
1624
    template <typename G = E,
1625
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1626
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1627
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1628
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1629
5.64M
        : base(unexpect, std::move(e.error())),
1630
5.64M
          ctor_base(detail::non_default_ctor_tag_t{})
1631
5.64M
    {
1632
5.64M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
86.6k
        : base(unexpect, std::move(e.error())),
1630
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
86.6k
    {
1632
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1629
86.6k
        : base(unexpect, std::move(e.error())),
1630
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
86.6k
    {
1632
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
14.4k
        : base(unexpect, std::move(e.error())),
1630
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
14.4k
    {
1632
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1629
173k
        : base(unexpect, std::move(e.error())),
1630
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
173k
    {
1632
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1629
173k
        : base(unexpect, std::move(e.error())),
1630
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
173k
    {
1632
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1629
28.8k
        : base(unexpect, std::move(e.error())),
1630
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
28.8k
    {
1632
28.8k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
520k
        : base(unexpect, std::move(e.error())),
1630
520k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
520k
    {
1632
520k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
159k
        : base(unexpect, std::move(e.error())),
1630
159k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
159k
    {
1632
159k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1629
328k
        : base(unexpect, std::move(e.error())),
1630
328k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
328k
    {
1632
328k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
101k
        : base(unexpect, std::move(e.error())),
1630
101k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
101k
    {
1632
101k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
221k
        : base(unexpect, std::move(e.error())),
1630
221k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
221k
    {
1632
221k
    }
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1629
777k
        : base(unexpect, std::move(e.error())),
1630
777k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
777k
    {
1632
777k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
23.8k
        : base(unexpect, std::move(e.error())),
1630
23.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
23.8k
    {
1632
23.8k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
9.70k
        : base(unexpect, std::move(e.error())),
1630
9.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
9.70k
    {
1632
9.70k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
11.8k
        : base(unexpect, std::move(e.error())),
1630
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
11.8k
    {
1632
11.8k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
840k
        : base(unexpect, std::move(e.error())),
1630
840k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
840k
    {
1632
840k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1629
3.25k
        : base(unexpect, std::move(e.error())),
1630
3.25k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
3.25k
    {
1632
3.25k
    }
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
11.5k
        : base(unexpect, std::move(e.error())),
1630
11.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
11.5k
    {
1632
11.5k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
8.74k
        : base(unexpect, std::move(e.error())),
1630
8.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
8.74k
    {
1632
8.74k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
12.0k
        : base(unexpect, std::move(e.error())),
1630
12.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
12.0k
    {
1632
12.0k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
814k
        : base(unexpect, std::move(e.error())),
1630
814k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
814k
    {
1632
814k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1629
3.49k
        : base(unexpect, std::move(e.error())),
1630
3.49k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
3.49k
    {
1632
3.49k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
20.7k
        : base(unexpect, std::move(e.error())),
1630
20.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
20.7k
    {
1632
20.7k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
1.42k
        : base(unexpect, std::move(e.error())),
1630
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.42k
    {
1632
1.42k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1629
18.9k
        : base(unexpect, std::move(e.error())),
1630
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
18.9k
    {
1632
18.9k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1629
375k
        : base(unexpect, std::move(e.error())),
1630
375k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
375k
    {
1632
375k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1629
11.8k
        : base(unexpect, std::move(e.error())),
1630
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
11.8k
    {
1632
11.8k
    }
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
20.7k
        : base(unexpect, std::move(e.error())),
1630
20.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
20.7k
    {
1632
20.7k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
1.42k
        : base(unexpect, std::move(e.error())),
1630
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
1.42k
    {
1632
1.42k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1629
18.9k
        : base(unexpect, std::move(e.error())),
1630
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
18.9k
    {
1632
18.9k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1629
270k
        : base(unexpect, std::move(e.error())),
1630
270k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
270k
    {
1632
270k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1629
11.8k
        : base(unexpect, std::move(e.error())),
1630
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1631
11.8k
    {
1632
11.8k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
1633
1634
    /// Construct an unexpected value directly in-place
1635
    template <typename... Args,
1636
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1637
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1638
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1639
208k
        : base(unexpect, std::forward<Args>(args)...),
1640
208k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
208k
    {
1642
208k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
40.2k
        : base(unexpect, std::forward<Args>(args)...),
1640
40.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
40.2k
    {
1642
40.2k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
106k
        : base(unexpect, std::forward<Args>(args)...),
1640
106k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
106k
    {
1642
106k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
11.1k
        : base(unexpect, std::forward<Args>(args)...),
1640
11.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
11.1k
    {
1642
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
11.4k
        : base(unexpect, std::forward<Args>(args)...),
1640
11.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
11.4k
    {
1642
11.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1640
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
18.8k
    {
1642
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1639
1.76k
        : base(unexpect, std::forward<Args>(args)...),
1640
1.76k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
1.76k
    {
1642
1.76k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1639
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1640
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1641
18.8k
    {
1642
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
1643
1644
    template <
1645
        typename U,
1646
        typename G,
1647
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1648
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1649
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1650
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1651
        std::is_nothrow_constructible_v<T, const U&> &&
1652
        std::is_nothrow_constructible_v<E, const G&>)
1653
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1654
    {
1655
        if (other.has_value()) {
1656
            this->construct(*other);
1657
        }
1658
        else {
1659
            this->construct_unexpected(other.error());
1660
        }
1661
    }
1662
    template <
1663
        typename U,
1664
        typename G,
1665
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1666
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1667
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1668
    constexpr expected(const expected<U, G>& other) noexcept(
1669
        std::is_nothrow_constructible_v<T, const U&> &&
1670
        std::is_nothrow_constructible_v<E, const G&>)
1671
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1672
    {
1673
        if (other.has_value()) {
1674
            this->construct(*other);
1675
        }
1676
        else {
1677
            this->construct_unexpected(other.error());
1678
        }
1679
    }
1680
1681
    template <typename U,
1682
              typename G,
1683
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1684
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1685
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1686
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1687
        std::is_nothrow_constructible_v<T, U&&> &&
1688
        std::is_nothrow_constructible_v<E, G&&>)
1689
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1690
    {
1691
        if (other.has_value()) {
1692
            this->construct(std::move(*other));
1693
        }
1694
        else {
1695
            this->construct_unexpected(std::move(other.error()));
1696
        }
1697
    }
1698
    template <typename U,
1699
              typename G,
1700
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1701
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1702
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1703
    constexpr expected(expected<U, G>&& other) noexcept(
1704
        std::is_nothrow_constructible_v<T, U&&> &&
1705
        std::is_nothrow_constructible_v<E, G&&>)
1706
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1707
    {
1708
        if (other.has_value()) {
1709
            this->construct(std::move(*other));
1710
        }
1711
        else {
1712
            this->construct_unexpected(std::move(other.error()));
1713
        }
1714
    }
1715
1716
    template <typename U = value_type,
1717
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1718
    expected& operator=(U&& val) noexcept(
1719
        noexcept(assign_value(std::forward<U>(val))))
1720
    {
1721
        assign_value(std::forward<U>(val));
1722
        return *this;
1723
    }
1724
1725
    expected& operator=(const unexpected_type& unex) noexcept(
1726
        noexcept(assign_unexpected(unex)))
1727
    {
1728
        assign_unexpected(unex);
1729
        return *this;
1730
    }
1731
    expected& operator=(unexpected_type&& unex) noexcept(
1732
        noexcept(assign_unexpected(std::move(unex))))
1733
    {
1734
        assign_unexpected(std::move(unex));
1735
        return *this;
1736
    }
1737
1738
    /// Destroys the contained value, and then initializes the expected
1739
    /// value directly in-place.
1740
    template <typename... Args,
1741
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1742
    decltype(auto) emplace(Args&&... args) noexcept(
1743
        std::is_nothrow_constructible_v<T, Args...>)
1744
    {
1745
        emplace_impl(std::forward<Args>(args)...);
1746
        if constexpr (!std::is_void_v<T>) {
1747
            return this->get_value();
1748
        }
1749
    }
1750
1751
    using base::has_value;
1752
    constexpr explicit operator bool() const noexcept
1753
23.2M
    {
1754
23.2M
        return has_value();
1755
23.2M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
450k
    {
1754
450k
        return has_value();
1755
450k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
1.90M
    {
1754
1.90M
        return has_value();
1755
1.90M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
73.2k
    {
1754
73.2k
        return has_value();
1755
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
64.2k
    {
1754
64.2k
        return has_value();
1755
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
85.6k
    {
1754
85.6k
        return has_value();
1755
85.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
69.6k
    {
1754
69.6k
        return has_value();
1755
69.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
87.1k
    {
1754
87.1k
        return has_value();
1755
87.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
70.4k
    {
1754
70.4k
        return has_value();
1755
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
449k
    {
1754
449k
        return has_value();
1755
449k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
73.2k
    {
1754
73.2k
        return has_value();
1755
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
64.2k
    {
1754
64.2k
        return has_value();
1755
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
85.1k
    {
1754
85.1k
        return has_value();
1755
85.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
69.7k
    {
1754
69.7k
        return has_value();
1755
69.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
86.6k
    {
1754
86.6k
        return has_value();
1755
86.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
70.4k
    {
1754
70.4k
        return has_value();
1755
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
184k
    {
1754
184k
        return has_value();
1755
184k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.7k
    {
1754
30.7k
        return has_value();
1755
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.6k
    {
1754
30.6k
        return has_value();
1755
30.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.8k
    {
1754
30.8k
        return has_value();
1755
30.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.7k
    {
1754
30.7k
        return has_value();
1755
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.9k
    {
1754
30.9k
        return has_value();
1755
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.8k
    {
1754
30.8k
        return has_value();
1755
30.8k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
184k
    {
1754
184k
        return has_value();
1755
184k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.7k
    {
1754
30.7k
        return has_value();
1755
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.6k
    {
1754
30.6k
        return has_value();
1755
30.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.8k
    {
1754
30.8k
        return has_value();
1755
30.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.7k
    {
1754
30.7k
        return has_value();
1755
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.9k
    {
1754
30.9k
        return has_value();
1755
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
30.8k
    {
1754
30.8k
        return has_value();
1755
30.8k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
5.33M
    {
1754
5.33M
        return has_value();
1755
5.33M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
2.67M
    {
1754
2.67M
        return has_value();
1755
2.67M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
618k
    {
1754
618k
        return has_value();
1755
618k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
520k
    {
1754
520k
        return has_value();
1755
520k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
604k
    {
1754
604k
        return has_value();
1755
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
1.30M
    {
1754
1.30M
        return has_value();
1755
1.30M
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
412k
    {
1754
412k
        return has_value();
1755
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
412k
    {
1754
412k
        return has_value();
1755
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
60.6k
    {
1754
60.6k
        return has_value();
1755
60.6k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
1.48M
    {
1754
1.48M
        return has_value();
1755
1.48M
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
522k
    {
1754
522k
        return has_value();
1755
522k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
604k
    {
1754
604k
        return has_value();
1755
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
968k
    {
1754
968k
        return has_value();
1755
968k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
414k
    {
1754
414k
        return has_value();
1755
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
414k
    {
1754
414k
        return has_value();
1755
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
60.8k
    {
1754
60.8k
        return has_value();
1755
60.8k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
166k
    {
1754
166k
        return has_value();
1755
166k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
119k
    {
1754
119k
        return has_value();
1755
119k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
400k
    {
1754
400k
        return has_value();
1755
400k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
133k
    {
1754
133k
        return has_value();
1755
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
133k
    {
1754
133k
        return has_value();
1755
133k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
20.7k
    {
1754
20.7k
        return has_value();
1755
20.7k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
486k
    {
1754
486k
        return has_value();
1755
486k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
166k
    {
1754
166k
        return has_value();
1755
166k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
119k
    {
1754
119k
        return has_value();
1755
119k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1753
400k
    {
1754
400k
        return has_value();
1755
400k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1753
133k
    {
1754
133k
        return has_value();
1755
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
133k
    {
1754
133k
        return has_value();
1755
133k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1753
20.7k
    {
1754
20.7k
        return has_value();
1755
20.7k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1756
1757
    /// Get the unexpected value, if one is contained in *this
1758
    constexpr error_type& error() & noexcept
1759
3.52M
    {
1760
3.52M
        SCN_EXPECT(!has_value());
1761
3.52M
        return this->get_unexpected().error();
1762
3.52M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
86.6k
    {
1760
86.6k
        SCN_EXPECT(!has_value());
1761
86.6k
        return this->get_unexpected().error();
1762
86.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1759
520k
    {
1760
520k
        SCN_EXPECT(!has_value());
1761
520k
        return this->get_unexpected().error();
1762
520k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
86.6k
    {
1760
86.6k
        SCN_EXPECT(!has_value());
1761
86.6k
        return this->get_unexpected().error();
1762
86.6k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
173k
    {
1760
173k
        SCN_EXPECT(!has_value());
1761
173k
        return this->get_unexpected().error();
1762
173k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
173k
    {
1760
173k
        SCN_EXPECT(!has_value());
1761
173k
        return this->get_unexpected().error();
1762
173k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1759
445k
    {
1760
445k
        SCN_EXPECT(!has_value());
1761
445k
        return this->get_unexpected().error();
1762
445k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
171k
    {
1760
171k
        SCN_EXPECT(!has_value());
1761
171k
        return this->get_unexpected().error();
1762
171k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1759
329k
    {
1760
329k
        SCN_EXPECT(!has_value());
1761
329k
        return this->get_unexpected().error();
1762
329k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
9.70k
    {
1760
9.70k
        SCN_EXPECT(!has_value());
1761
9.70k
        return this->get_unexpected().error();
1762
9.70k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1759
360
    {
1760
360
        SCN_EXPECT(!has_value());
1761
360
        return this->get_unexpected().error();
1762
360
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
369k
    {
1760
369k
        SCN_EXPECT(!has_value());
1761
369k
        return this->get_unexpected().error();
1762
369k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
3.25k
    {
1760
3.25k
        SCN_EXPECT(!has_value());
1761
3.25k
        return this->get_unexpected().error();
1762
3.25k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1759
142k
    {
1760
142k
        SCN_EXPECT(!has_value());
1761
142k
        return this->get_unexpected().error();
1762
142k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
8.74k
    {
1760
8.74k
        SCN_EXPECT(!has_value());
1761
8.74k
        return this->get_unexpected().error();
1762
8.74k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1759
360
    {
1760
360
        SCN_EXPECT(!has_value());
1761
360
        return this->get_unexpected().error();
1762
360
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
359k
    {
1760
359k
        SCN_EXPECT(!has_value());
1761
359k
        return this->get_unexpected().error();
1762
359k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
3.49k
    {
1760
3.49k
        SCN_EXPECT(!has_value());
1761
3.49k
        return this->get_unexpected().error();
1762
3.49k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
1.42k
    {
1760
1.42k
        SCN_EXPECT(!has_value());
1761
1.42k
        return this->get_unexpected().error();
1762
1.42k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1759
72
    {
1760
72
        SCN_EXPECT(!has_value());
1761
72
        return this->get_unexpected().error();
1762
72
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
142k
    {
1760
142k
        SCN_EXPECT(!has_value());
1761
142k
        return this->get_unexpected().error();
1762
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
11.8k
    {
1760
11.8k
        SCN_EXPECT(!has_value());
1761
11.8k
        return this->get_unexpected().error();
1762
11.8k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1759
328k
    {
1760
328k
        SCN_EXPECT(!has_value());
1761
328k
        return this->get_unexpected().error();
1762
328k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1759
1.42k
    {
1760
1.42k
        SCN_EXPECT(!has_value());
1761
1.42k
        return this->get_unexpected().error();
1762
1.42k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1759
72
    {
1760
72
        SCN_EXPECT(!has_value());
1761
72
        return this->get_unexpected().error();
1762
72
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1759
142k
    {
1760
142k
        SCN_EXPECT(!has_value());
1761
142k
        return this->get_unexpected().error();
1762
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1759
11.8k
    {
1760
11.8k
        SCN_EXPECT(!has_value());
1761
11.8k
        return this->get_unexpected().error();
1762
11.8k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1763
    constexpr const error_type& error() const& noexcept
1764
0
    {
1765
0
        SCN_EXPECT(!has_value());
1766
0
        return this->get_unexpected().error();
1767
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1768
    constexpr error_type&& error() && noexcept
1769
342k
    {
1770
342k
        SCN_EXPECT(!has_value());
1771
342k
        return std::move(this->get_unexpected().error());
1772
342k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1769
133k
    {
1770
133k
        SCN_EXPECT(!has_value());
1771
133k
        return std::move(this->get_unexpected().error());
1772
133k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
23.4k
    {
1770
23.4k
        SCN_EXPECT(!has_value());
1771
23.4k
        return std::move(this->get_unexpected().error());
1772
23.4k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
20.6k
    {
1770
20.6k
        SCN_EXPECT(!has_value());
1771
20.6k
        return std::move(this->get_unexpected().error());
1772
20.6k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
11.1k
    {
1770
11.1k
        SCN_EXPECT(!has_value());
1771
11.1k
        return std::move(this->get_unexpected().error());
1772
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1769
28.2k
    {
1770
28.2k
        SCN_EXPECT(!has_value());
1771
28.2k
        return std::move(this->get_unexpected().error());
1772
28.2k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1769
104k
    {
1770
104k
        SCN_EXPECT(!has_value());
1771
104k
        return std::move(this->get_unexpected().error());
1772
104k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1769
20.6k
    {
1770
20.6k
        SCN_EXPECT(!has_value());
1771
20.6k
        return std::move(this->get_unexpected().error());
1772
20.6k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
1773
    constexpr const error_type&& error() const&& noexcept
1774
    {
1775
        SCN_EXPECT(!has_value());
1776
        return std::move(this->get_unexpected().error());
1777
    }
1778
1779
    /// Get the expected value, if one is contained in *this
1780
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1781
    constexpr U& value() & noexcept
1782
16.6M
    {
1783
16.6M
        SCN_EXPECT(has_value());
1784
16.6M
        return this->get_value();
1785
16.6M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
363k
    {
1783
363k
        SCN_EXPECT(has_value());
1784
363k
        return this->get_value();
1785
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1782
1.12M
    {
1783
1.12M
        SCN_EXPECT(has_value());
1784
1.12M
        return this->get_value();
1785
1.12M
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
190k
    {
1783
190k
        SCN_EXPECT(has_value());
1784
190k
        return this->get_value();
1785
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
163k
    {
1783
163k
        SCN_EXPECT(has_value());
1784
163k
        return this->get_value();
1785
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
228k
    {
1783
228k
        SCN_EXPECT(has_value());
1784
228k
        return this->get_value();
1785
228k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
180k
    {
1783
180k
        SCN_EXPECT(has_value());
1784
180k
        return this->get_value();
1785
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
232k
    {
1783
232k
        SCN_EXPECT(has_value());
1784
232k
        return this->get_value();
1785
232k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
182k
    {
1783
182k
        SCN_EXPECT(has_value());
1784
182k
        return this->get_value();
1785
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1782
362k
    {
1783
362k
        SCN_EXPECT(has_value());
1784
362k
        return this->get_value();
1785
362k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
190k
    {
1783
190k
        SCN_EXPECT(has_value());
1784
190k
        return this->get_value();
1785
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
163k
    {
1783
163k
        SCN_EXPECT(has_value());
1784
163k
        return this->get_value();
1785
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
226k
    {
1783
226k
        SCN_EXPECT(has_value());
1784
226k
        return this->get_value();
1785
226k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
180k
    {
1783
180k
        SCN_EXPECT(has_value());
1784
180k
        return this->get_value();
1785
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
230k
    {
1783
230k
        SCN_EXPECT(has_value());
1784
230k
        return this->get_value();
1785
230k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
182k
    {
1783
182k
        SCN_EXPECT(has_value());
1784
182k
        return this->get_value();
1785
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
11.3k
    {
1783
11.3k
        SCN_EXPECT(has_value());
1784
11.3k
        return this->get_value();
1785
11.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
34.4k
    {
1783
34.4k
        SCN_EXPECT(has_value());
1784
34.4k
        return this->get_value();
1785
34.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
34.1k
    {
1783
34.1k
        SCN_EXPECT(has_value());
1784
34.1k
        return this->get_value();
1785
34.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
34.7k
    {
1783
34.7k
        SCN_EXPECT(has_value());
1784
34.7k
        return this->get_value();
1785
34.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
34.3k
    {
1783
34.3k
        SCN_EXPECT(has_value());
1784
34.3k
        return this->get_value();
1785
34.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
35.0k
    {
1783
35.0k
        SCN_EXPECT(has_value());
1784
35.0k
        return this->get_value();
1785
35.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1782
34.6k
    {
1783
34.6k
        SCN_EXPECT(has_value());
1784
34.6k
        return this->get_value();
1785
34.6k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1782
11.3k
    {
1783
11.3k
        SCN_EXPECT(has_value());
1784
11.3k
        return this->get_value();
1785
11.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
34.4k
    {
1783
34.4k
        SCN_EXPECT(has_value());
1784
34.4k
        return this->get_value();
1785
34.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
34.1k
    {
1783
34.1k
        SCN_EXPECT(has_value());
1784
34.1k
        return this->get_value();
1785
34.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
34.7k
    {
1783
34.7k
        SCN_EXPECT(has_value());
1784
34.7k
        return this->get_value();
1785
34.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
34.3k
    {
1783
34.3k
        SCN_EXPECT(has_value());
1784
34.3k
        return this->get_value();
1785
34.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
35.0k
    {
1783
35.0k
        SCN_EXPECT(has_value());
1784
35.0k
        return this->get_value();
1785
35.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1782
34.6k
    {
1783
34.6k
        SCN_EXPECT(has_value());
1784
34.6k
        return this->get_value();
1785
34.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
834k
    {
1783
834k
        SCN_EXPECT(has_value());
1784
834k
        return this->get_value();
1785
834k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
225k
    {
1783
225k
        SCN_EXPECT(has_value());
1784
225k
        return this->get_value();
1785
225k
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
2.50M
    {
1783
2.50M
        SCN_EXPECT(has_value());
1784
2.50M
        return this->get_value();
1785
2.50M
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1782
289k
    {
1783
289k
        SCN_EXPECT(has_value());
1784
289k
        return this->get_value();
1785
289k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
510k
    {
1783
510k
        SCN_EXPECT(has_value());
1784
510k
        return this->get_value();
1785
510k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
595k
    {
1783
595k
        SCN_EXPECT(has_value());
1784
595k
        return this->get_value();
1785
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
748k
    {
1783
748k
        SCN_EXPECT(has_value());
1784
748k
        return this->get_value();
1785
748k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
412k
    {
1783
412k
        SCN_EXPECT(has_value());
1784
412k
        return this->get_value();
1785
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
412k
    {
1783
412k
        SCN_EXPECT(has_value());
1784
412k
        return this->get_value();
1785
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
412k
    {
1783
412k
        SCN_EXPECT(has_value());
1784
412k
        return this->get_value();
1785
412k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1782
57.4k
    {
1783
57.4k
        SCN_EXPECT(has_value());
1784
57.4k
        return this->get_value();
1785
57.4k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
1.33M
    {
1783
1.33M
        SCN_EXPECT(has_value());
1784
1.33M
        return this->get_value();
1785
1.33M
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
595k
    {
1783
595k
        SCN_EXPECT(has_value());
1784
595k
        return this->get_value();
1785
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
141k
    {
1783
141k
        SCN_EXPECT(has_value());
1784
141k
        return this->get_value();
1785
141k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
414k
    {
1783
414k
        SCN_EXPECT(has_value());
1784
414k
        return this->get_value();
1785
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
414k
    {
1783
414k
        SCN_EXPECT(has_value());
1784
414k
        return this->get_value();
1785
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
414k
    {
1783
414k
        SCN_EXPECT(has_value());
1784
414k
        return this->get_value();
1785
414k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1782
57.3k
    {
1783
57.3k
        SCN_EXPECT(has_value());
1784
57.3k
        return this->get_value();
1785
57.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
118k
    {
1783
118k
        SCN_EXPECT(has_value());
1784
118k
        return this->get_value();
1785
118k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
94.6k
    {
1783
94.6k
        SCN_EXPECT(has_value());
1784
94.6k
        return this->get_value();
1785
94.6k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1782
8.80k
    {
1783
8.80k
        SCN_EXPECT(has_value());
1784
8.80k
        return this->get_value();
1785
8.80k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
158k
    {
1783
158k
        SCN_EXPECT(has_value());
1784
158k
        return this->get_value();
1785
158k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
225k
    {
1783
225k
        SCN_EXPECT(has_value());
1784
225k
        return this->get_value();
1785
225k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1782
118k
    {
1783
118k
        SCN_EXPECT(has_value());
1784
118k
        return this->get_value();
1785
118k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1782
91.9k
    {
1783
91.9k
        SCN_EXPECT(has_value());
1784
91.9k
        return this->get_value();
1785
91.9k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1782
133k
    {
1783
133k
        SCN_EXPECT(has_value());
1784
133k
        return this->get_value();
1785
133k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1782
8.80k
    {
1783
8.80k
        SCN_EXPECT(has_value());
1784
8.80k
        return this->get_value();
1785
8.80k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
1786
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1787
    constexpr const U& value() const& noexcept
1788
0
    {
1789
0
        SCN_EXPECT(has_value());
1790
0
        return this->get_value();
1791
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1792
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1793
    constexpr U&& value() && noexcept
1794
    {
1795
        SCN_EXPECT(has_value());
1796
        return std::move(this->get_value());
1797
    }
1798
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1799
    constexpr const U&& value() const&& noexcept
1800
    {
1801
        SCN_EXPECT(has_value());
1802
        return std::move(this->get_value());
1803
    }
1804
1805
    /// Get the expected value, if one is contained in *this
1806
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1807
    constexpr U& operator*() & noexcept
1808
2.97M
    {
1809
2.97M
        return value();
1810
2.97M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
363k
    {
1809
363k
        return value();
1810
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1808
1.12M
    {
1809
1.12M
        return value();
1810
1.12M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1808
362k
    {
1809
362k
        return value();
1810
362k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1808
11.3k
    {
1809
11.3k
        return value();
1810
11.3k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1808
11.3k
    {
1809
11.3k
        return value();
1810
11.3k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1808
96.3k
    {
1809
96.3k
        return value();
1810
96.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1808
141k
    {
1809
141k
        return value();
1810
141k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
96.4k
    {
1809
96.4k
        return value();
1810
96.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
141k
    {
1809
141k
        return value();
1810
141k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1808
281k
    {
1809
281k
        return value();
1810
281k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1808
280k
    {
1809
280k
        return value();
1810
280k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1808
10.3k
    {
1809
10.3k
        return value();
1810
10.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1808
10.6k
    {
1809
10.6k
        return value();
1810
10.6k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
10.3k
    {
1809
10.3k
        return value();
1810
10.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1808
10.6k
    {
1809
10.6k
        return value();
1810
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1808
10.6k
    {
1809
10.6k
        return value();
1810
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1808
10.6k
    {
1809
10.6k
        return value();
1810
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1811
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1812
    constexpr const U& operator*() const& noexcept
1813
0
    {
1814
0
        return value();
1815
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1816
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1817
    constexpr U&& operator*() && noexcept
1818
10.9M
    {
1819
10.9M
        return std::move(value());
1820
10.9M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
738k
    {
1819
738k
        return std::move(value());
1820
738k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
214k
    {
1819
214k
        return std::move(value());
1820
214k
    }
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
2.22M
    {
1819
2.22M
        return std::move(value());
1820
2.22M
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1818
278k
    {
1819
278k
        return std::move(value());
1820
278k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
414k
    {
1819
414k
        return std::move(value());
1820
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
595k
    {
1819
595k
        return std::move(value());
1820
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
412k
    {
1819
412k
        return std::move(value());
1820
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
607k
    {
1819
607k
        return std::move(value());
1820
607k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1818
412k
    {
1819
412k
        return std::move(value());
1820
412k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1818
412k
    {
1819
412k
        return std::move(value());
1820
412k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1818
57.4k
    {
1819
57.4k
        return std::move(value());
1820
57.4k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
1.05M
    {
1819
1.05M
        return std::move(value());
1820
1.05M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
595k
    {
1819
595k
        return std::move(value());
1820
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
414k
    {
1819
414k
        return std::move(value());
1820
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
414k
    {
1819
414k
        return std::move(value());
1820
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
414k
    {
1819
414k
        return std::move(value());
1820
414k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Line
Count
Source
1818
57.3k
    {
1819
57.3k
        return std::move(value());
1820
57.3k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
118k
    {
1819
118k
        return std::move(value());
1820
118k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
84.0k
    {
1819
84.0k
        return std::move(value());
1820
84.0k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Line
Count
Source
1818
8.80k
    {
1819
8.80k
        return std::move(value());
1820
8.80k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
147k
    {
1819
147k
        return std::move(value());
1820
147k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
214k
    {
1819
214k
        return std::move(value());
1820
214k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1818
118k
    {
1819
118k
        return std::move(value());
1820
118k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1818
81.2k
    {
1819
81.2k
        return std::move(value());
1820
81.2k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1818
133k
    {
1819
133k
        return std::move(value());
1820
133k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1818
8.80k
    {
1819
8.80k
        return std::move(value());
1820
8.80k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
1821
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1822
    constexpr const U&& operator*() const&& noexcept
1823
    {
1824
        return std::move(value());
1825
    }
1826
1827
    constexpr value_type* operator->() noexcept
1828
2.76M
    {
1829
2.76M
        return &value();
1830
2.76M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
190k
    {
1829
190k
        return &value();
1830
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
163k
    {
1829
163k
        return &value();
1830
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
228k
    {
1829
228k
        return &value();
1830
228k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
180k
    {
1829
180k
        return &value();
1830
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
232k
    {
1829
232k
        return &value();
1830
232k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
182k
    {
1829
182k
        return &value();
1830
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
190k
    {
1829
190k
        return &value();
1830
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
163k
    {
1829
163k
        return &value();
1830
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
226k
    {
1829
226k
        return &value();
1830
226k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
180k
    {
1829
180k
        return &value();
1830
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
230k
    {
1829
230k
        return &value();
1830
230k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
182k
    {
1829
182k
        return &value();
1830
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.4k
    {
1829
34.4k
        return &value();
1830
34.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.1k
    {
1829
34.1k
        return &value();
1830
34.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.7k
    {
1829
34.7k
        return &value();
1830
34.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.3k
    {
1829
34.3k
        return &value();
1830
34.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
35.0k
    {
1829
35.0k
        return &value();
1830
35.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.6k
    {
1829
34.6k
        return &value();
1830
34.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.4k
    {
1829
34.4k
        return &value();
1830
34.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.1k
    {
1829
34.1k
        return &value();
1830
34.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.7k
    {
1829
34.7k
        return &value();
1830
34.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.3k
    {
1829
34.3k
        return &value();
1830
34.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
35.0k
    {
1829
35.0k
        return &value();
1830
35.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1828
34.6k
    {
1829
34.6k
        return &value();
1830
34.6k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1831
    constexpr const value_type* operator->() const noexcept
1832
    {
1833
        return &value();
1834
    }
1835
1836
    /// Returns the expected value if *this contains one, otherwise
1837
    /// returns default_value
1838
    template <typename U,
1839
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1840
                                          std::is_convertible_v<U, T>>>
1841
    constexpr T value_or(U&& default_value) const& noexcept(
1842
        std::is_nothrow_copy_constructible_v<T> &&
1843
        std::is_nothrow_constructible_v<T, U&&>)
1844
    {
1845
        if (has_value()) {
1846
            return value();
1847
        }
1848
        return std::forward<U>(default_value);
1849
    }
1850
    template <typename U,
1851
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1852
                                          std::is_convertible_v<U, T>>>
1853
    constexpr T value_or(U&& default_value) && noexcept(
1854
        std::is_nothrow_move_constructible_v<T> &&
1855
        std::is_nothrow_constructible_v<T, U&&>)
1856
    {
1857
        if (has_value()) {
1858
            return std::move(value());
1859
        }
1860
        return std::forward<U>(default_value);
1861
    }
1862
1863
    template <typename G,
1864
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1865
                                          std::is_convertible_v<G, E>>>
1866
    constexpr E error_or(G&& default_error) const& noexcept(
1867
        std::is_nothrow_copy_constructible_v<E> &&
1868
        std::is_nothrow_constructible_v<E, G&&>)
1869
    {
1870
        if (!has_value()) {
1871
            return error();
1872
        }
1873
        return std::forward<G>(default_error);
1874
    }
1875
    template <typename G,
1876
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1877
                                          std::is_convertible_v<G, E>>>
1878
    constexpr E error_or(G&& default_error) && noexcept(
1879
        std::is_nothrow_move_constructible_v<E> &&
1880
        std::is_nothrow_constructible_v<E, G&&>)
1881
    {
1882
        if (!has_value()) {
1883
            return std::move(error());
1884
        }
1885
        return std::forward<G>(default_error);
1886
    }
1887
1888
    template <typename F>
1889
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1890
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1891
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1892
    {
1893
        return detail::and_then_impl(*this, std::forward<F>(f));
1894
    }
1895
    template <typename F>
1896
    constexpr auto and_then(F&& f) const& noexcept(
1897
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1898
                                       std::forward<F>(f))))
1899
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1900
    {
1901
        return detail::and_then_impl(*this, std::forward<F>(f));
1902
    }
1903
    template <typename F>
1904
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1905
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1906
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1907
    {
1908
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1909
    }
1910
    template <typename F>
1911
    constexpr auto and_then(F&& f) const&& noexcept(
1912
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1913
                                       std::forward<F>(f))))
1914
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1915
    {
1916
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1917
    }
1918
1919
    template <typename F>
1920
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1921
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1922
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1923
    {
1924
        return detail::or_else_impl(*this, std::forward<F>(f));
1925
    }
1926
    template <typename F>
1927
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1928
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1929
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1930
    {
1931
        return detail::or_else_impl(*this, std::forward<F>(f));
1932
    }
1933
    template <typename F>
1934
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1935
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1936
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1937
    {
1938
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1939
    }
1940
    template <typename F>
1941
    constexpr auto or_else(F&& f) const&& noexcept(
1942
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1943
                                      std::forward<F>(f))))
1944
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1945
    {
1946
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1947
    }
1948
1949
    template <typename F>
1950
    constexpr auto transform(
1951
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1952
    {
1953
        return detail::transform_impl(*this, std::forward<F>(f));
1954
    }
1955
    template <typename F>
1956
    constexpr auto transform(F&& f)
1957
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1958
    {
1959
        return detail::transform_impl(*this, std::forward<F>(f));
1960
    }
1961
    template <typename F>
1962
    constexpr auto transform(
1963
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1964
    {
1965
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1966
    }
1967
    template <typename F>
1968
    constexpr auto transform(F&& f)
1969
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1970
    {
1971
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1972
    }
1973
1974
    template <typename F>
1975
    constexpr auto transform_error(
1976
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1977
                                                          std::forward<F>(f)))
1978
0
    {
1979
0
        return detail::transform_error_impl(*this, std::forward<F>(f));
1980
0
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
1981
    template <typename F>
1982
    constexpr auto transform_error(F&& f)
1983
        const& -> decltype(detail::transform_error_impl(*this,
1984
                                                        std::forward<F>(f)))
1985
    {
1986
        return detail::transform_error_impl(*this, std::forward<F>(f));
1987
    }
1988
    template <typename F>
1989
    constexpr auto transform_error(
1990
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1991
                                                           std::forward<F>(f)))
1992
3.16M
    {
1993
3.16M
        return detail::transform_error_impl(std::move(*this),
1994
3.16M
                                            std::forward<F>(f));
1995
3.16M
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
424k
    {
1993
424k
        return detail::transform_error_impl(std::move(*this),
1994
424k
                                            std::forward<F>(f));
1995
424k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
135k
    {
1993
135k
        return detail::transform_error_impl(std::move(*this),
1994
135k
                                            std::forward<F>(f));
1995
135k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
425k
    {
1993
425k
        return detail::transform_error_impl(std::move(*this),
1994
425k
                                            std::forward<F>(f));
1995
425k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
336k
    {
1993
336k
        return detail::transform_error_impl(std::move(*this),
1994
336k
                                            std::forward<F>(f));
1995
336k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
412k
    {
1993
412k
        return detail::transform_error_impl(std::move(*this),
1994
412k
                                            std::forward<F>(f));
1995
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
309k
    {
1993
309k
        return detail::transform_error_impl(std::move(*this),
1994
309k
                                            std::forward<F>(f));
1995
309k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
414k
    {
1993
414k
        return detail::transform_error_impl(std::move(*this),
1994
414k
                                            std::forward<F>(f));
1995
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
100k
    {
1993
100k
        return detail::transform_error_impl(std::move(*this),
1994
100k
                                            std::forward<F>(f));
1995
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
133k
    {
1993
133k
        return detail::transform_error_impl(std::move(*this),
1994
133k
                                            std::forward<F>(f));
1995
133k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1992
107k
    {
1993
107k
        return detail::transform_error_impl(std::move(*this),
1994
107k
                                            std::forward<F>(f));
1995
107k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
135k
    {
1993
135k
        return detail::transform_error_impl(std::move(*this),
1994
135k
                                            std::forward<F>(f));
1995
135k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1992
100k
    {
1993
100k
        return detail::transform_error_impl(std::move(*this),
1994
100k
                                            std::forward<F>(f));
1995
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1992
133k
    {
1993
133k
        return detail::transform_error_impl(std::move(*this),
1994
133k
                                            std::forward<F>(f));
1995
133k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
1996
    template <typename F>
1997
    constexpr auto transform_error(F&& f)
1998
        const&& -> decltype(detail::transform_error_impl(*this,
1999
                                                         std::forward<F>(f)))
2000
    {
2001
        return detail::transform_error_impl(std::move(*this),
2002
                                            std::forward<F>(f));
2003
    }
2004
2005
private:
2006
    template <typename... Args>
2007
    void emplace_impl(Args&&... args) noexcept(
2008
        std::is_nothrow_constructible_v<T, Args&&...>)
2009
    {
2010
        if (this->has_value()) {
2011
            this->destroy_value();
2012
            this->construct(std::forward<Args>(args)...);
2013
        }
2014
        else {
2015
#if SCN_HAS_EXCEPTIONS
2016
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2017
                auto tmp = std::move(error());
2018
                this->destroy_unexpected();
2019
2020
                try {
2021
                    this->construct(std::forward<Args>(args)...);
2022
                }
2023
                catch (...) {
2024
                    this->construct_unexpected(std::move(tmp));
2025
                    throw;
2026
                }
2027
            }
2028
            else {
2029
                this->construct(std::forward<Args>(args)...);
2030
            }
2031
#else
2032
            this->destroy_unexpected();
2033
            this->construct(std::forward<Args>(args)...);
2034
#endif
2035
        }
2036
    }
2037
2038
    template <typename Value>
2039
    void assign_value(Value&& val) noexcept(
2040
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2041
                                        Value&&> &&
2042
        std::is_nothrow_assignable_v<T, Value&&>)
2043
    {
2044
        if (has_value()) {
2045
            this->get_value() = std::forward<Value>(val);
2046
            return;
2047
        }
2048
2049
#if SCN_HAS_EXCEPTIONS
2050
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2051
            this->destroy_unexpected();
2052
            this->construct(std::forward<Value>(val));
2053
        }
2054
        else {
2055
            auto tmp = std::move(this->get_unexpected());
2056
            this->destroy_unexpected();
2057
2058
            try {
2059
                this->construct(std::forward<Value>(val));
2060
            }
2061
            catch (...) {
2062
                this->construct_unexpected(std::move(tmp));
2063
            }
2064
        }
2065
#else
2066
        this->destroy_unexpected();
2067
        this->construct(std::forward<Value>(val));
2068
#endif
2069
    }
2070
2071
    template <typename Unexpected>
2072
    void assign_unexpected(Unexpected&& unex) noexcept(
2073
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2074
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2075
    {
2076
        if (!has_value()) {
2077
            this->get_unexpected() = std::forward<Unexpected>(unex);
2078
            return;
2079
        }
2080
2081
        this->destroy_value();
2082
        this->construct_unexpected(std::forward<Unexpected>(unex));
2083
    }
2084
};
2085
2086
/////////////////////////////////////////////////////////////////
2087
// <ranges> implementation
2088
/////////////////////////////////////////////////////////////////
2089
2090
/**
2091
 * Contains a very minimal `<ranges>` implementation.
2092
 *
2093
 * This is a heavily stripped-down and adapted version of NanoRange:
2094
 * https://github.com/tcbrindle/NanoRange.
2095
 *
2096
 * NanoRange is provided under the Boost license.
2097
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2098
 */
2099
namespace ranges {
2100
2101
namespace detail {
2102
using namespace scn::detail;
2103
2104
template <typename T>
2105
constexpr auto decay_copy(T&& t) noexcept(
2106
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2107
119M
{
2108
119M
    return SCN_FWD(t);
2109
119M
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2107
4.29M
{
2108
4.29M
    return SCN_FWD(t);
2109
4.29M
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2107
1.27M
{
2108
1.27M
    return SCN_FWD(t);
2109
1.27M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
2107
9.22M
{
2108
9.22M
    return SCN_FWD(t);
2109
9.22M
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2107
1.19M
{
2108
1.19M
    return SCN_FWD(t);
2109
1.19M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
2107
103M
{
2108
103M
    return SCN_FWD(t);
2109
103M
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2110
2111
template <bool>
2112
struct conditional {
2113
    template <typename T, typename>
2114
    using type = T;
2115
};
2116
2117
template <>
2118
struct conditional<false> {
2119
    template <typename, typename U>
2120
    using type = U;
2121
};
2122
2123
template <bool B, typename T, typename U>
2124
using conditional_t = typename conditional<B>::template type<T, U>;
2125
2126
template <template <class...> class AliasT, typename... Args>
2127
auto exists_helper(long) -> std::false_type;
2128
2129
template <template <class...> class AliasT,
2130
          typename... Args,
2131
          typename = AliasT<Args...>>
2132
auto exists_helper(int) -> std::true_type;
2133
2134
template <template <class...> class AliasT, typename... Args>
2135
inline constexpr bool exists_v =
2136
    decltype(exists_helper<AliasT, Args...>(0))::value;
2137
2138
template <typename, typename...>
2139
auto test_requires_fn(long) -> std::false_type;
2140
2141
template <typename R,
2142
          typename... Args,
2143
          typename = decltype(&R::template requires_<Args...>)>
2144
auto test_requires_fn(int) -> std::true_type;
2145
2146
template <typename R, typename... Args>
2147
inline constexpr bool requires_ =
2148
    decltype(test_requires_fn<R, Args...>(0))::value;
2149
2150
template <bool Expr>
2151
using requires_expr = std::enable_if_t<Expr, int>;
2152
}  // namespace detail
2153
2154
template <typename>
2155
inline constexpr bool enable_borrowed_range = false;
2156
2157
namespace detail {
2158
template <typename T>
2159
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2160
2161
struct boolean_testable_concept {
2162
    template <typename T>
2163
    auto requires_(T&& t)
2164
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2165
};
2166
2167
template <typename T>
2168
inline constexpr bool boolean_testable =
2169
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2170
}  // namespace detail
2171
2172
namespace detail {
2173
struct weakly_equality_comparable_with_concept {
2174
    template <typename T, typename U>
2175
    auto requires_(const std::remove_reference_t<T>& t,
2176
                   const std::remove_reference_t<U>& u)
2177
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2178
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2179
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2180
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2181
};
2182
2183
template <typename T, typename U>
2184
inline constexpr bool weakly_equality_comparable_with =
2185
    requires_<weakly_equality_comparable_with_concept, T, U>;
2186
}  // namespace detail
2187
2188
template <typename T>
2189
inline constexpr bool equality_comparable =
2190
    detail::weakly_equality_comparable_with<T, T>;
2191
2192
namespace detail {
2193
struct equality_comparable_with_concept {
2194
    template <typename, typename>
2195
    static auto test(long) -> std::false_type;
2196
2197
    template <typename T, typename U>
2198
    static auto test(int)
2199
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2200
#if 0
2201
            common_reference_with<const std::remove_reference_t<T>&,
2202
                                  const std::remove_reference_t<U>&> &&
2203
            equality_comparable<
2204
                common_reference_t<const std::remove_reference_t<T>&,
2205
                                   const std::remove_reference_t<U>&>> &&
2206
#endif
2207
                                weakly_equality_comparable_with<T, U>,
2208
                            std::true_type>;
2209
};
2210
}  // namespace detail
2211
2212
template <typename T, typename U>
2213
inline constexpr bool equality_comparable_with =
2214
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2215
2216
namespace detail {
2217
struct partially_ordered_with_concept {
2218
    template <typename T, typename U>
2219
    auto requires_(const std::remove_reference_t<T>& t,
2220
                   const std::remove_reference_t<U>& u)
2221
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2222
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2223
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2224
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2225
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2226
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2227
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2228
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2229
};
2230
2231
template <typename T, typename U>
2232
inline constexpr bool partially_ordered_with =
2233
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2234
}  // namespace detail
2235
2236
template <typename T>
2237
inline constexpr bool totally_ordered =
2238
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2239
2240
namespace detail {
2241
struct totally_ordered_with_concept {
2242
    template <typename, typename>
2243
    static auto test(long) -> std::false_type;
2244
2245
    template <typename T, typename U>
2246
    static auto test(int)
2247
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2248
                                equality_comparable_with<T, U> &&
2249
#if 0
2250
                                totally_ordered<common_reference_t<
2251
                                    const std::remove_reference_t<T>&,
2252
                                    const std::remove_reference_t<U>&>> &&
2253
#endif
2254
                                partially_ordered_with<T, U>,
2255
                            std::true_type>;
2256
};
2257
}  // namespace detail
2258
2259
template <typename T, typename U>
2260
inline constexpr bool totally_ordered_with =
2261
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2262
2263
namespace detail {
2264
struct movable_concept {
2265
    template <typename T>
2266
    static auto test(long) -> std::false_type;
2267
2268
    template <typename T>
2269
    static auto test(int) -> std::enable_if_t<
2270
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2271
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2272
        std::true_type>;
2273
};
2274
}  // namespace detail
2275
2276
template <typename T>
2277
inline constexpr bool movable =
2278
    decltype(detail::movable_concept::test<T>(0))::value;
2279
2280
namespace detail {
2281
struct copyable_concept {
2282
    template <typename>
2283
    static auto test(long) -> std::false_type;
2284
2285
    template <typename T>
2286
    static auto test(int)
2287
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2288
                                std::is_copy_assignable_v<T>,
2289
                            std::true_type>;
2290
};
2291
}  // namespace detail
2292
2293
template <typename T>
2294
inline constexpr bool copyable =
2295
    decltype(detail::copyable_concept::test<T>(0))::value;
2296
2297
template <typename T>
2298
inline constexpr bool semiregular =
2299
    copyable<T> && std::is_default_constructible_v<T>;
2300
2301
template <typename T>
2302
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2303
2304
template <typename>
2305
struct incrementable_traits;
2306
2307
namespace detail {
2308
struct empty {};
2309
2310
template <typename T>
2311
struct with_difference_type {
2312
    using difference_type = T;
2313
};
2314
2315
template <typename, typename = void>
2316
struct incrementable_traits_helper {};
2317
2318
// Workaround for GCC silliness: void* has no difference_type
2319
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2320
// error Can we formulate the concept differently to avoid the need for this
2321
// hack?
2322
template <>
2323
struct incrementable_traits_helper<void*> {};
2324
2325
template <typename T>
2326
struct incrementable_traits_helper<T*>
2327
    : detail::conditional_t<std::is_object_v<T>,
2328
                            with_difference_type<std::ptrdiff_t>,
2329
                            empty> {};
2330
2331
template <class I>
2332
struct incrementable_traits_helper<const I>
2333
    : incrementable_traits<std::decay_t<I>> {};
2334
2335
template <typename, typename = void>
2336
struct has_member_difference_type : std::false_type {};
2337
2338
template <typename T>
2339
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2340
    : std::true_type {};
2341
2342
template <typename T>
2343
constexpr bool has_member_difference_type_v =
2344
    has_member_difference_type<T>::value;
2345
2346
template <typename T>
2347
struct incrementable_traits_helper<
2348
    T,
2349
    std::enable_if_t<has_member_difference_type_v<T>>> {
2350
    using difference_type = typename T::difference_type;
2351
};
2352
2353
template <typename T, typename = void>
2354
struct subtraction_result_type {
2355
    using type = void;
2356
};
2357
template <typename T>
2358
struct subtraction_result_type<
2359
    T,
2360
    std::void_t<decltype(std::declval<const T&>() -
2361
                         std::declval<const T&>())>> {
2362
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2363
};
2364
2365
template <typename T>
2366
inline constexpr bool enable_incrtraits_subtractable =
2367
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2368
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2369
2370
template <typename T>
2371
struct incrementable_traits_helper<
2372
    T,
2373
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2374
    : with_difference_type<
2375
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2376
}  // namespace detail
2377
2378
template <typename T>
2379
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2380
2381
template <typename T>
2382
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2383
2384
template <typename>
2385
struct readable_traits;
2386
2387
namespace detail {
2388
template <typename T>
2389
struct with_value_type {
2390
    using value_type = T;
2391
};
2392
2393
template <typename, typename = void>
2394
struct readable_traits_helper {};
2395
2396
template <typename T>
2397
struct readable_traits_helper<T*>
2398
    : detail::conditional_t<std::is_object_v<T>,
2399
                            with_value_type<std::remove_cv_t<T>>,
2400
                            empty> {};
2401
2402
template <typename I>
2403
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2404
    : readable_traits<std::decay_t<I>> {};
2405
2406
template <typename I>
2407
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2408
    : readable_traits<std::decay_t<I>> {};
2409
2410
template <typename T, typename V = typename T::value_type>
2411
struct member_value_type
2412
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2413
2414
template <typename T, typename E = typename T::element_type>
2415
struct member_element_type
2416
    : detail::conditional_t<std::is_object_v<E>,
2417
                            with_value_type<std::remove_cv_t<E>>,
2418
                            empty> {};
2419
2420
template <typename T>
2421
using member_value_type_t = typename T::value_type;
2422
2423
template <typename T>
2424
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2425
2426
template <typename T>
2427
using member_element_type_t = typename T::element_type;
2428
2429
template <typename T>
2430
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2431
2432
template <typename T>
2433
struct readable_traits_helper<T,
2434
                              std::enable_if_t<has_member_value_type_v<T> &&
2435
                                               !has_member_element_type_v<T>>>
2436
    : member_value_type<T> {};
2437
2438
template <typename T>
2439
struct readable_traits_helper<T,
2440
                              std::enable_if_t<has_member_element_type_v<T> &&
2441
                                               !has_member_value_type_v<T>>>
2442
    : member_element_type<T> {};
2443
2444
// A type which has both value_type and element_type members must specialise
2445
// readable_traits to tell us which one to prefer -- see
2446
// https://github.com/ericniebler/stl2/issues/562
2447
template <typename T>
2448
struct readable_traits_helper<T,
2449
                              std::enable_if_t<has_member_element_type_v<T> &&
2450
                                               has_member_value_type_v<T>>> {};
2451
}  // namespace detail
2452
2453
template <typename T>
2454
struct readable_traits : detail::readable_traits_helper<T> {};
2455
2456
template <typename T>
2457
using iter_value_t = typename readable_traits<T>::value_type;
2458
2459
namespace detail {
2460
template <typename T>
2461
using with_reference = T&;
2462
2463
struct can_reference_concept {
2464
    template <typename T>
2465
    auto requires_() -> with_reference<T>;
2466
};
2467
2468
template <typename T>
2469
inline constexpr bool can_reference =
2470
    detail::requires_<can_reference_concept, T>;
2471
2472
struct dereferencable_concept {
2473
    template <typename T>
2474
    auto requires_(T& t)
2475
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2476
};
2477
2478
template <typename T>
2479
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2480
2481
// GCC and Clang allow dereferencing void* as an extension.
2482
// Let's kill that off now.
2483
2484
template <>
2485
inline constexpr bool dereferenceable<void*> = false;
2486
}  // namespace detail
2487
2488
using std::bidirectional_iterator_tag;
2489
using std::forward_iterator_tag;
2490
using std::input_iterator_tag;
2491
using std::output_iterator_tag;
2492
using std::random_access_iterator_tag;
2493
2494
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2495
    __cpp_lib_ranges >= 201911L
2496
using std::contiguous_iterator_tag;
2497
#else
2498
struct contiguous_iterator_tag : random_access_iterator_tag {};
2499
#endif
2500
2501
template <typename T>
2502
struct iterator_category;
2503
2504
namespace detail {
2505
template <typename T, typename = void>
2506
struct iterator_category_ {};
2507
template <typename T>
2508
struct iterator_category_<T*>
2509
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2510
template <typename T>
2511
struct iterator_category_<const T> : iterator_category<T> {};
2512
template <typename T>
2513
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2514
    using type = typename T::iterator_category;
2515
};
2516
}  // namespace detail
2517
2518
template <typename T>
2519
struct iterator_category : detail::iterator_category_<T> {};
2520
template <typename T>
2521
using iterator_category_t = typename iterator_category<T>::type;
2522
2523
namespace detail {
2524
2525
template <typename T, typename = void>
2526
struct legacy_iterator_category : iterator_category<T> {};
2527
2528
template <typename T>
2529
struct legacy_iterator_category<
2530
    T,
2531
    std::enable_if_t<
2532
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2533
    using type = random_access_iterator_tag;
2534
};
2535
2536
template <typename T>
2537
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2538
2539
}  // namespace detail
2540
2541
template <typename T>
2542
using iter_reference_t =
2543
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2544
2545
namespace detail {
2546
2547
struct readable_concept {
2548
    template <typename In>
2549
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2550
                                 std::declval<iter_reference_t<In>>());
2551
    // std::declval<iter_rvalue_reference_t<In>>());
2552
2553
    template <typename>
2554
    static auto test(long) -> std::false_type;
2555
2556
    template <typename In>
2557
    static auto test(int)
2558
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2559
#if 0
2560
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2561
            common_reference_with<iter_reference_t<In>&&,
2562
                                  iter_rvalue_reference_t<In>&&> &&
2563
            common_reference_with<iter_rvalue_reference_t<In>&&,
2564
                                  const iter_value_t<In>&>,
2565
#endif
2566
                            std::true_type>;
2567
};
2568
2569
}  // namespace detail
2570
2571
template <typename In>
2572
inline constexpr bool readable =
2573
    decltype(detail::readable_concept::test<In>(0))::value;
2574
2575
namespace detail {
2576
2577
struct writable_concept {
2578
    template <typename Out, typename T>
2579
    auto requires_(Out&& o, T&& t)
2580
        -> decltype(*o = std::forward<T>(t),
2581
                    *std::forward<Out>(o) = std::forward<T>(t),
2582
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2583
                        std::forward<T>(t),
2584
                    const_cast<const iter_reference_t<Out>&&>(
2585
                        *std::forward<Out>(o)) = std::forward<T>(t));
2586
};
2587
2588
}  // namespace detail
2589
2590
template <typename Out, typename T>
2591
inline constexpr bool writable =
2592
    detail::requires_<detail::writable_concept, Out, T>;
2593
2594
namespace detail {
2595
2596
template <typename T>
2597
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2598
2599
template <typename T>
2600
inline constexpr bool is_signed_integer_like =
2601
    std::is_integral_v<T> && std::is_signed_v<T>;
2602
2603
struct weakly_incrementable_concept {
2604
    template <typename I>
2605
    auto requires_(I i)
2606
        -> decltype(std::declval<iter_difference_t<I>>(),
2607
                    requires_expr<
2608
                        is_signed_integer_like<iter_difference_t<I>>>{},
2609
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2610
                    i++);
2611
};
2612
2613
}  // namespace detail
2614
2615
template <typename I>
2616
inline constexpr bool weakly_incrementable =
2617
    std::is_default_constructible_v<I> && movable<I> &&
2618
    detail::requires_<detail::weakly_incrementable_concept, I>;
2619
2620
namespace detail {
2621
2622
struct incrementable_concept {
2623
    template <typename I>
2624
    auto requires_(I i)
2625
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2626
};
2627
2628
}  // namespace detail
2629
2630
template <typename I>
2631
inline constexpr bool incrementable =
2632
    regular<I> && weakly_incrementable<I> &&
2633
    detail::requires_<detail::incrementable_concept, I>;
2634
2635
namespace detail {
2636
2637
struct input_or_output_iterator_concept {
2638
    template <typename I>
2639
    auto requires_(I i)
2640
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2641
};
2642
2643
}  // namespace detail
2644
2645
template <typename I>
2646
inline constexpr bool input_or_output_iterator =
2647
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2648
    weakly_incrementable<I>;
2649
2650
template <typename S, typename I>
2651
inline constexpr bool sentinel_for =
2652
    semiregular<S> && input_or_output_iterator<I> &&
2653
    detail::weakly_equality_comparable_with<S, I>;
2654
2655
template <typename S, typename I>
2656
inline constexpr bool disable_sized_sentinel = false;
2657
2658
namespace detail {
2659
2660
struct sized_sentinel_for_concept {
2661
    template <typename S, typename I>
2662
    auto requires_(const S& s, const I& i)
2663
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2664
                                                 iter_difference_t<I>>>{},
2665
                    requires_expr<std::is_same_v<decltype(i - s),
2666
                                                 iter_difference_t<I>>>{});
2667
};
2668
2669
}  // namespace detail
2670
2671
template <typename S, typename I>
2672
inline constexpr bool sized_sentinel_for =
2673
    sentinel_for<S, I> &&
2674
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2675
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2676
2677
// This is a hack, but I'm fed up with my tests breaking because GCC
2678
// has a silly extension
2679
template <typename S>
2680
inline constexpr bool sized_sentinel_for<S, void*> = false;
2681
2682
template <typename I>
2683
inline constexpr bool sized_sentinel_for<void*, I> = false;
2684
2685
template <>
2686
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2687
2688
namespace detail {
2689
2690
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2691
struct input_iterator_concept {
2692
    template <typename I>
2693
    auto requires_() -> iterator_category_t<I>;
2694
2695
    template <typename>
2696
    static auto test(long) -> std::false_type;
2697
2698
    template <typename I>
2699
    static auto test(int) -> std::enable_if_t<
2700
        input_or_output_iterator<I> && readable<I> &&
2701
            detail::requires_<input_iterator_concept, I> &&
2702
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2703
        std::true_type>;
2704
};
2705
2706
}  // namespace detail
2707
2708
template <typename I>
2709
inline constexpr bool input_iterator =
2710
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2711
2712
namespace detail {
2713
2714
struct output_iterator_concept {
2715
    template <typename I, typename T>
2716
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2717
};
2718
2719
}  // namespace detail
2720
2721
template <typename I, typename T>
2722
inline constexpr bool output_iterator =
2723
    input_or_output_iterator<I> && writable<I, T> &&
2724
    detail::requires_<detail::output_iterator_concept, I, T>;
2725
2726
namespace detail {
2727
2728
struct forward_iterator_concept {
2729
    template <typename>
2730
    static auto test(long) -> std::false_type;
2731
2732
    template <typename I>
2733
    static auto test(int) -> std::enable_if_t<
2734
        input_iterator<I> &&
2735
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2736
            incrementable<I> && sentinel_for<I, I>,
2737
        std::true_type>;
2738
};
2739
2740
}  // namespace detail
2741
2742
template <typename I>
2743
inline constexpr bool forward_iterator =
2744
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2745
2746
namespace detail {
2747
2748
struct bidirectional_iterator_concept {
2749
    template <typename I>
2750
    auto requires_(I i)
2751
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2752
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2753
2754
    template <typename>
2755
    static auto test(long) -> std::false_type;
2756
2757
    template <typename I>
2758
    static auto test(int) -> std::enable_if_t<
2759
        forward_iterator<I> &&
2760
            std::is_base_of_v<bidirectional_iterator_tag,
2761
                              iterator_category_t<I>> &&
2762
            detail::requires_<bidirectional_iterator_concept, I>,
2763
        std::true_type>;
2764
};
2765
2766
}  // namespace detail
2767
2768
template <typename I>
2769
inline constexpr bool bidirectional_iterator =
2770
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2771
2772
namespace detail {
2773
2774
struct random_access_iterator_concept {
2775
    template <typename>
2776
    static auto test(long) -> std::false_type;
2777
2778
    template <typename I>
2779
    static auto test(int) -> std::enable_if_t<
2780
        bidirectional_iterator<I> &&
2781
            std::is_base_of_v<random_access_iterator_tag,
2782
                              iterator_category_t<I>> &&
2783
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2784
            detail::requires_<random_access_iterator_concept, I>,
2785
        std::true_type>;
2786
2787
    template <typename I>
2788
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2789
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2790
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2791
#ifndef _MSC_VER
2792
                    requires_expr<std::is_same_v<decltype(n + j),
2793
                                                 I>>{},  // FIXME: MSVC doesn't
2794
                                                         // like this when I =
2795
                                                         // int*
2796
#endif
2797
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2798
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2799
                    requires_expr<
2800
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2801
};
2802
2803
}  // namespace detail
2804
2805
template <typename I>
2806
inline constexpr bool random_access_iterator =
2807
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2808
2809
namespace detail {
2810
2811
struct contiguous_iterator_concept {
2812
    template <typename>
2813
    static auto test(long) -> std::false_type;
2814
2815
    template <typename I>
2816
    static auto test(int) -> std::enable_if_t<
2817
        random_access_iterator<I> &&
2818
            /*std::is_base_of_v<contiguous_iterator_tag,
2819
                              iterator_category_t<I>> &&*/
2820
            detail::can_make_address_from_iterator<I> &&
2821
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2822
            std::is_same_v<iter_value_t<I>,
2823
                           remove_cvref_t<iter_reference_t<I>>>,
2824
        std::true_type>;
2825
};
2826
2827
}  // namespace detail
2828
2829
template <typename I>
2830
inline constexpr bool contiguous_iterator =
2831
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2832
2833
namespace detail::begin_ {
2834
2835
template <typename T>
2836
void begin(T&) = delete;
2837
template <typename T>
2838
void begin(const T&) = delete;
2839
2840
struct fn {
2841
private:
2842
    template <typename T,
2843
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2844
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2845
                  nullptr>
2846
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2847
2848
    template <typename T,
2849
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2850
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2851
        -> decltype(t + 0)
2852
    {
2853
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2854
        return t + 0;
2855
    }
2856
2857
    template <typename T>
2858
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2859
        noexcept(decay_copy(SCN_FWD(t).begin())))
2860
        -> std::enable_if_t<
2861
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2862
            decltype(decay_copy(SCN_FWD(t).begin()))>
2863
5.48M
    {
2864
5.48M
        return decay_copy(t.begin());
2865
5.48M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
87.3k
    {
2864
87.3k
        return decay_copy(t.begin());
2865
87.3k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
814k
    {
2864
814k
        return decay_copy(t.begin());
2865
814k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
2.13M
    {
2864
2.13M
        return decay_copy(t.begin());
2865
2.13M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
86.6k
    {
2864
86.6k
        return decay_copy(t.begin());
2865
86.6k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
812k
    {
2864
812k
        return decay_copy(t.begin());
2865
812k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
362k
    {
2864
362k
        return decay_copy(t.begin());
2865
362k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
174k
    {
2864
174k
        return decay_copy(t.begin());
2865
174k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
196k
    {
2864
196k
        return decay_copy(t.begin());
2865
196k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
437k
    {
2864
437k
        return decay_copy(t.begin());
2865
437k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
173k
    {
2864
173k
        return decay_copy(t.begin());
2865
173k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
196k
    {
2864
196k
        return decay_copy(t.begin());
2865
196k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2863
11.3k
    {
2864
11.3k
        return decay_copy(t.begin());
2865
11.3k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2866
2867
    template <typename T>
2868
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2869
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2870
        -> std::enable_if_t<
2871
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2872
            decltype(decay_copy(begin(SCN_FWD(t))))>
2873
    {
2874
        return decay_copy(begin(SCN_FWD(t)));
2875
    }
2876
2877
public:
2878
    template <typename T>
2879
    constexpr auto operator()(T&& t) const
2880
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2881
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2882
5.48M
    {
2883
5.48M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
5.48M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
87.3k
    {
2883
87.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
87.3k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
814k
    {
2883
814k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
814k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
2.13M
    {
2883
2.13M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
2.13M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
86.6k
    {
2883
86.6k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
86.6k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
812k
    {
2883
812k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
812k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
362k
    {
2883
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
362k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
174k
    {
2883
174k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
174k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
196k
    {
2883
196k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
196k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
437k
    {
2883
437k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
437k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
173k
    {
2883
173k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
173k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
196k
    {
2883
196k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
196k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2882
11.3k
    {
2883
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2884
11.3k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2885
};
2886
2887
}  // namespace detail::begin_
2888
2889
inline constexpr auto begin = detail::begin_::fn{};
2890
2891
namespace detail::end_ {
2892
2893
template <typename T>
2894
void end(T&) = delete;
2895
template <typename T>
2896
void end(const T&) = delete;
2897
2898
struct fn {
2899
private:
2900
    template <typename T,
2901
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2902
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2903
                  nullptr>
2904
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2905
2906
    template <typename T,
2907
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2908
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2909
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2910
    {
2911
        return t + std::extent_v<remove_cvref_t<T>>;
2912
    }
2913
2914
    template <typename T,
2915
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2916
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2917
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2918
        noexcept(decay_copy(SCN_FWD(t).end())))
2919
        -> std::enable_if_t<sentinel_for<S, I>,
2920
                            decltype(decay_copy(SCN_FWD(t).end()))>
2921
112M
    {
2922
112M
        return decay_copy(SCN_FWD(t).end());
2923
112M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
901k
    {
2922
901k
        return decay_copy(SCN_FWD(t).end());
2923
901k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
363k
    {
2922
363k
        return decay_copy(SCN_FWD(t).end());
2923
363k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
898k
    {
2922
898k
        return decay_copy(SCN_FWD(t).end());
2923
898k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
6.69M
    {
2922
6.69M
        return decay_copy(SCN_FWD(t).end());
2923
6.69M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
362k
    {
2922
362k
        return decay_copy(SCN_FWD(t).end());
2923
362k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
370k
    {
2922
370k
        return decay_copy(SCN_FWD(t).end());
2923
370k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
11.3k
    {
2922
11.3k
        return decay_copy(SCN_FWD(t).end());
2923
11.3k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
369k
    {
2922
369k
        return decay_copy(SCN_FWD(t).end());
2923
369k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
102M
    {
2922
102M
        return decay_copy(SCN_FWD(t).end());
2923
102M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2921
11.3k
    {
2922
11.3k
        return decay_copy(SCN_FWD(t).end());
2923
11.3k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2924
2925
    template <typename T,
2926
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2927
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2928
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2929
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2930
    {
2931
        return decay_copy(end(SCN_FWD(t)));
2932
    }
2933
2934
public:
2935
    template <typename T>
2936
    constexpr auto operator()(T&& t) const
2937
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2938
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2939
112M
    {
2940
112M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
112M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
901k
    {
2940
901k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
901k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
363k
    {
2940
363k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
363k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
898k
    {
2940
898k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
898k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
6.69M
    {
2940
6.69M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
6.69M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
362k
    {
2940
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
362k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
370k
    {
2940
370k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
370k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
11.3k
    {
2940
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
11.3k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
369k
    {
2940
369k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
369k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
102M
    {
2940
102M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
102M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2939
11.3k
    {
2940
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2941
11.3k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2942
};
2943
2944
}  // namespace detail::end_
2945
2946
inline constexpr auto end = detail::end_::fn{};
2947
2948
namespace detail {
2949
struct range_concept {
2950
    template <typename T>
2951
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2952
};
2953
}  // namespace detail
2954
2955
template <typename T>
2956
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2957
2958
template <typename T>
2959
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2960
2961
template <typename R>
2962
using sentinel_t =
2963
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2964
2965
template <typename R>
2966
using range_difference_t =
2967
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2968
2969
template <typename R>
2970
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2971
2972
template <typename R>
2973
using range_reference_t =
2974
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2975
2976
namespace detail {
2977
template <typename, typename = void>
2978
inline constexpr bool is_object_pointer_v = false;
2979
template <typename P>
2980
inline constexpr bool
2981
    is_object_pointer_v<P,
2982
                        std::enable_if_t<std::is_pointer_v<P> &&
2983
                                         std::is_object_v<iter_value_t<P>>>> =
2984
        true;
2985
2986
namespace data_ {
2987
2988
struct fn {
2989
private:
2990
    template <typename T,
2991
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2992
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2993
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2994
2.50M
    {
2995
2.50M
        return t.data();
2996
2.50M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
450k
    {
2995
450k
        return t.data();
2996
450k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
184k
    {
2995
184k
        return t.data();
2996
184k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
1.44M
    {
2995
1.44M
        return t.data();
2996
1.44M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2994
425k
    {
2995
425k
        return t.data();
2996
425k
    }
2997
2998
    template <typename T>
2999
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3000
        noexcept(scn::ranges::begin(SCN_FWD(t))))
3001
        -> std::enable_if_t<
3002
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
3003
            decltype(scn::ranges::begin(SCN_FWD(t)))>
3004
0
    {
3005
0
        return scn::ranges::begin(SCN_FWD(t));
3006
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
3007
3008
public:
3009
    template <typename T>
3010
    constexpr auto operator()(T&& t) const
3011
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
3012
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
3013
2.50M
    {
3014
2.50M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
2.50M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
450k
    {
3014
450k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
450k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
184k
    {
3014
184k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
184k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
1.44M
    {
3014
1.44M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
1.44M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
3013
425k
    {
3014
425k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3015
425k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3016
};
3017
3018
}  // namespace data_
3019
}  // namespace detail
3020
3021
inline constexpr auto data = detail::data_::fn{};
3022
3023
template <typename T>
3024
inline constexpr bool disable_sized_range = false;
3025
3026
namespace detail::size_ {
3027
3028
template <typename T>
3029
void size(T&&) = delete;
3030
template <typename T>
3031
void size(T&) = delete;
3032
3033
struct fn {
3034
private:
3035
    template <typename T, std::size_t N>
3036
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3037
    {
3038
        return N;
3039
    }
3040
3041
    template <typename T, std::size_t N>
3042
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3043
    {
3044
        return N;
3045
    }
3046
3047
    template <typename T,
3048
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3049
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3050
        noexcept(decay_copy(SCN_FWD(t).size())))
3051
        -> std::enable_if_t<std::is_integral_v<I> &&
3052
                                !disable_sized_range<remove_cvref_t<T>>,
3053
                            I>
3054
1.27M
    {
3055
1.27M
        return decay_copy(SCN_FWD(t).size());
3056
1.27M
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
450k
    {
3055
450k
        return decay_copy(SCN_FWD(t).size());
3056
450k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
184k
    {
3055
184k
        return decay_copy(SCN_FWD(t).size());
3056
184k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
129k
    {
3055
129k
        return decay_copy(SCN_FWD(t).size());
3056
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
354k
    {
3055
354k
        return decay_copy(SCN_FWD(t).size());
3056
354k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3054
159k
    {
3055
159k
        return decay_copy(SCN_FWD(t).size());
3056
159k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
3057
3058
    template <typename T,
3059
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3060
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3061
        noexcept(decay_copy(size(SCN_FWD(t)))))
3062
        -> std::enable_if_t<std::is_integral_v<I> &&
3063
                                !disable_sized_range<remove_cvref_t<T>>,
3064
                            I>
3065
    {
3066
        return decay_copy(size(SCN_FWD(t)));
3067
    }
3068
3069
    template <typename T,
3070
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3071
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3072
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3073
                                                             SCN_DECLVAL(I)))>
3074
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3075
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3076
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3077
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3078
                            D>
3079
    {
3080
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3081
    }
3082
3083
public:
3084
    template <typename T>
3085
    constexpr auto operator()(T&& t) const
3086
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3087
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3088
1.27M
    {
3089
1.27M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
1.27M
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3088
450k
    {
3089
450k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
450k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3088
184k
    {
3089
184k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
184k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3088
129k
    {
3089
129k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
354k
    {
3089
354k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
354k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3088
159k
    {
3089
159k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3090
159k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
3091
};
3092
3093
}  // namespace detail::size_
3094
3095
inline constexpr auto size = detail::size_::fn{};
3096
3097
namespace detail {
3098
namespace ssize_ {
3099
struct fn {
3100
private:
3101
    template <typename T>
3102
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3103
                                                  sizeof(std::ptrdiff_t),
3104
                                              std::ptrdiff_t,
3105
                                              range_difference_t<T>>;
3106
3107
    template <typename T>
3108
    static constexpr auto impl(T&& t) noexcept(
3109
        noexcept(ranges::size(std::forward<T>(t))))
3110
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3111
129k
    {
3112
129k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3111
129k
    {
3112
129k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3113
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3114
3115
public:
3116
    template <typename T>
3117
    constexpr auto operator()(T&& t) const
3118
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3119
            -> decltype(fn::impl(std::forward<T>(t)))
3120
129k
    {
3121
129k
        return fn::impl(std::forward<T>(t));
3122
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3120
129k
    {
3121
129k
        return fn::impl(std::forward<T>(t));
3122
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3123
};
3124
}  // namespace ssize_
3125
}  // namespace detail
3126
3127
inline constexpr auto ssize = detail::ssize_::fn{};
3128
3129
namespace detail::empty_ {
3130
struct fn {
3131
private:
3132
    template <typename T>
3133
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3134
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3135
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3136
    {
3137
        return static_cast<bool>(SCN_FWD(t).empty());
3138
    }
3139
3140
    template <typename T>
3141
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3142
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3143
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3144
    {
3145
        return ranges::size(SCN_FWD(t)) == 0;
3146
    }
3147
3148
    template <typename T,
3149
              typename I = decltype(ranges::begin(std::declval<T>()))>
3150
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3151
        noexcept(ranges::begin(t) == ranges::end(t)))
3152
        -> std::enable_if_t<forward_iterator<I>,
3153
                            decltype(ranges::begin(t) == ranges::end(t))>
3154
    {
3155
        return ranges::begin(t) == ranges::end(t);
3156
    }
3157
3158
public:
3159
    template <typename T>
3160
    constexpr auto operator()(T&& t) const
3161
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3162
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3163
    {
3164
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3165
    }
3166
};
3167
}  // namespace detail::empty_
3168
3169
inline constexpr auto empty = detail::empty_::fn{};
3170
3171
/**
3172
 * \see `std::ranges::borrowed_range`
3173
 */
3174
template <typename T>
3175
inline constexpr bool borrowed_range =
3176
    range<T> && (std::is_lvalue_reference_v<T> ||
3177
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3178
3179
namespace detail {
3180
struct sized_range_concept {
3181
    template <typename T>
3182
    auto requires_(T& t) -> decltype(ranges::size(t));
3183
};
3184
}  // namespace detail
3185
3186
template <typename T>
3187
inline constexpr bool sized_range =
3188
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3189
    detail::requires_<detail::sized_range_concept, T>;
3190
3191
namespace detail {
3192
struct output_range_concept {
3193
    template <typename, typename>
3194
    static auto test(long) -> std::false_type;
3195
3196
    template <typename R, typename T>
3197
    static auto test(int)
3198
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3199
                            std::true_type>;
3200
};
3201
}  // namespace detail
3202
3203
template <typename R, typename T>
3204
inline constexpr bool output_range =
3205
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3206
3207
namespace detail {
3208
struct input_range_concept {
3209
    template <typename>
3210
    static auto test(long) -> std::false_type;
3211
3212
    template <typename T>
3213
    static auto test(int)
3214
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3215
                            std::true_type>;
3216
};
3217
}  // namespace detail
3218
3219
template <typename T>
3220
inline constexpr bool input_range =
3221
    decltype(detail::input_range_concept::test<T>(0))::value;
3222
3223
namespace detail {
3224
struct forward_range_concept {
3225
    template <typename>
3226
    static auto test(long) -> std::false_type;
3227
3228
    template <typename T>
3229
    static auto test(int)
3230
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3231
                            std::true_type>;
3232
};
3233
}  // namespace detail
3234
3235
template <typename T>
3236
inline constexpr bool forward_range =
3237
    decltype(detail::forward_range_concept::test<T>(0))::value;
3238
3239
namespace detail {
3240
struct bidirectional_range_concept {
3241
    template <typename>
3242
    static auto test(long) -> std::false_type;
3243
3244
    template <typename T>
3245
    static auto test(int)
3246
        -> std::enable_if_t<forward_range<T> &&
3247
                                bidirectional_iterator<iterator_t<T>>,
3248
                            std::true_type>;
3249
};
3250
}  // namespace detail
3251
3252
template <typename T>
3253
inline constexpr bool bidirectional_range =
3254
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3255
3256
namespace detail {
3257
struct random_access_range_concept {
3258
    template <typename>
3259
    static auto test(long) -> std::false_type;
3260
3261
    template <typename T>
3262
    static auto test(int)
3263
        -> std::enable_if_t<bidirectional_range<T> &&
3264
                                random_access_iterator<iterator_t<T>>,
3265
                            std::true_type>;
3266
};
3267
}  // namespace detail
3268
3269
template <typename T>
3270
inline constexpr bool random_access_range =
3271
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3272
3273
namespace detail {
3274
// FIXME: Not to spec
3275
// We only require random_access_iterator, not contiguous_iterator
3276
// This is so that vector::iterator, string::iterator etc can model
3277
// contiguous_range.
3278
// If we do range-v3-style deep integration with iterator_traits then
3279
// this could be fixed
3280
struct contiguous_range_concept {
3281
    template <typename>
3282
    static auto test(long) -> std::false_type;
3283
3284
    template <typename T>
3285
    static auto test(int) -> std::enable_if_t<
3286
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3287
                                   * &&
3288
                                   */
3289
            detail::requires_<contiguous_range_concept, T>,
3290
        std::true_type>;
3291
3292
    template <typename T>
3293
    auto requires_(T& t)
3294
        -> decltype(requires_expr<std::is_same_v<
3295
                        decltype(ranges::data(t)),
3296
                        std::add_pointer_t<range_reference_t<T>>>>{});
3297
};
3298
}  // namespace detail
3299
3300
template <typename R>
3301
inline constexpr bool contiguous_range =
3302
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3303
3304
namespace detail {
3305
struct common_range_concept {
3306
    template <typename>
3307
    static auto test(long) -> std::false_type;
3308
3309
    template <typename T>
3310
    static auto test(int)
3311
        -> std::enable_if_t<range<T> &&
3312
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3313
                            std::true_type>;
3314
};
3315
}  // namespace detail
3316
3317
template <typename T>
3318
inline constexpr bool common_range =
3319
    decltype(detail::common_range_concept::test<T>(0))::value;
3320
3321
/**
3322
 * \see `std::ranges::dangling`
3323
 */
3324
struct dangling {
3325
    constexpr dangling() noexcept = default;
3326
3327
    template <typename... Args>
3328
    constexpr dangling(Args&&...) noexcept
3329
    {
3330
    }
3331
};
3332
3333
/**
3334
 * \see `std::ranges::borrowed_iterator_t`
3335
 */
3336
template <typename R>
3337
using borrowed_iterator_t =
3338
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3339
3340
template <typename D>
3341
class view_interface {
3342
    static_assert(std::is_class<D>::value, "");
3343
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3344
3345
private:
3346
    constexpr D& derived() noexcept
3347
2.19M
    {
3348
2.19M
        return static_cast<D&>(*this);
3349
2.19M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3347
1.76M
    {
3348
1.76M
        return static_cast<D&>(*this);
3349
1.76M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3347
425k
    {
3348
425k
        return static_cast<D&>(*this);
3349
425k
    }
3350
3351
    constexpr const D& derived() const noexcept
3352
635k
    {
3353
635k
        return static_cast<const D&>(*this);
3354
635k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3352
450k
    {
3353
450k
        return static_cast<const D&>(*this);
3354
450k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3352
184k
    {
3353
184k
        return static_cast<const D&>(*this);
3354
184k
    }
3355
3356
public:
3357
    template <typename R = D>
3358
    [[nodiscard]] constexpr auto empty()
3359
        -> std::enable_if_t<forward_range<R>, bool>
3360
    {
3361
        return ranges::begin(derived()) == ranges::end(derived());
3362
    }
3363
3364
    template <typename R = D>
3365
    [[nodiscard]] constexpr auto empty() const
3366
        -> std::enable_if_t<forward_range<const R>, bool>
3367
    {
3368
        return ranges::begin(derived()) == ranges::end(derived());
3369
    }
3370
3371
    template <typename R = D,
3372
              typename = decltype(ranges::empty(std::declval<R&>()))>
3373
    constexpr explicit operator bool()
3374
    {
3375
        return !ranges::empty(derived());
3376
    }
3377
3378
    template <typename R = D,
3379
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3380
    constexpr explicit operator bool() const
3381
    {
3382
        return !ranges::empty(derived());
3383
    }
3384
3385
    template <typename R = D,
3386
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3387
    constexpr auto data()
3388
2.19M
    {
3389
2.19M
        return detail::to_address(ranges::begin(derived()));
3390
2.19M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3388
1.76M
    {
3389
1.76M
        return detail::to_address(ranges::begin(derived()));
3390
1.76M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3388
425k
    {
3389
425k
        return detail::to_address(ranges::begin(derived()));
3390
425k
    }
3391
3392
    template <typename R = D,
3393
              typename = std::enable_if_t<
3394
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3395
    constexpr auto data() const
3396
635k
    {
3397
635k
        return detail::to_address(ranges::begin(derived()));
3398
635k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3396
450k
    {
3397
450k
        return detail::to_address(ranges::begin(derived()));
3398
450k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3396
184k
    {
3397
184k
        return detail::to_address(ranges::begin(derived()));
3398
184k
    }
3399
3400
    template <typename R = D,
3401
              typename = std::enable_if_t<
3402
                  forward_range<R> &&
3403
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3404
    constexpr auto size()
3405
    {
3406
        return ranges::end(derived()) - ranges::begin(derived());
3407
    }
3408
3409
    template <typename R = D,
3410
              typename = std::enable_if_t<
3411
                  forward_range<const R> &&
3412
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3413
    constexpr auto size() const
3414
    {
3415
        return ranges::end(derived()) - ranges::begin(derived());
3416
    }
3417
3418
#if 0
3419
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3420
    constexpr decltype(auto) front()
3421
    {
3422
        return *ranges::begin(derived());
3423
    }
3424
3425
    template <typename R = D,
3426
              typename = std::enable_if_t<forward_range<const R>>>
3427
    constexpr decltype(auto) front() const
3428
    {
3429
        return *ranges::begin(derived());
3430
    }
3431
3432
    template <
3433
        typename R = D,
3434
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3435
    constexpr decltype(auto) back()
3436
    {
3437
        return *ranges::prev(ranges::end(derived()));
3438
    }
3439
3440
    template <typename R = D,
3441
              typename = std::enable_if_t<bidirectional_range<const R> &&
3442
                                          common_range<const R>>>
3443
    constexpr decltype(auto) back() const
3444
    {
3445
        return *ranges::prev(ranges::end(derived()));
3446
    }
3447
3448
    template <typename R = D,
3449
              typename = std::enable_if_t<random_access_range<R>>>
3450
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3451
    {
3452
        return ranges::begin(derived())[n];
3453
    }
3454
#endif
3455
3456
    template <typename R = D,
3457
              typename = std::enable_if_t<random_access_range<const R>>>
3458
    constexpr decltype(auto) operator[](
3459
        iter_difference_t<iterator_t<const R>> n) const
3460
    {
3461
        return ranges::begin(derived())[n];
3462
    }
3463
};
3464
3465
namespace detail::subrange_ {
3466
3467
template <typename I, typename S = I>
3468
class subrange : public view_interface<subrange<I, S>> {
3469
    static_assert(input_or_output_iterator<I>);
3470
    static_assert(sentinel_for<S, I>);
3471
3472
public:
3473
1.26M
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3473
450k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange()
Line
Count
Source
3473
449k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3473
184k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange()
Line
Count
Source
3473
184k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3474
3475
    template <typename I_,
3476
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3477
    constexpr subrange(I_ i, S s)
3478
11.3M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
11.3M
    {
3480
11.3M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3478
812k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
812k
    {
3480
812k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3478
196k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
196k
    {
3480
196k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3478
3.44M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
3.44M
    {
3480
3.44M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3478
970k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
970k
    {
3480
970k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3478
281k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
281k
    {
3480
281k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3478
2.75k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
2.75k
    {
3480
2.75k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
4.15M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
4.15M
    {
3480
4.15M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3478
1.43M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3479
1.43M
    {
3480
1.43M
    }
3481
3482
    template <
3483
        typename R,
3484
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3485
                         std::is_convertible_v<iterator_t<R>, I> &&
3486
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3487
    constexpr subrange(R&& r)
3488
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3489
    {
3490
    }
3491
3492
    constexpr I begin() const
3493
94.0M
    {
3494
94.0M
        return m_iterator;
3495
94.0M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3493
8.00M
    {
3494
8.00M
        return m_iterator;
3495
8.00M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3493
1.17M
    {
3494
1.17M
        return m_iterator;
3495
1.17M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3493
36.7M
    {
3494
36.7M
        return m_iterator;
3495
36.7M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3493
207k
    {
3494
207k
        return m_iterator;
3495
207k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3493
10.5M
    {
3494
10.5M
        return m_iterator;
3495
10.5M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3493
36.6M
    {
3494
36.6M
        return m_iterator;
3495
36.6M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3493
637k
    {
3494
637k
        return m_iterator;
3495
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3493
6.83k
    {
3494
6.83k
        return m_iterator;
3495
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3496
    constexpr S end() const
3497
194M
    {
3498
194M
        return m_sentinel;
3499
194M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3497
5.55M
    {
3498
5.55M
        return m_sentinel;
3499
5.55M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3497
7.05M
    {
3498
7.05M
        return m_sentinel;
3499
7.05M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3497
35.6M
    {
3498
35.6M
        return m_sentinel;
3499
35.6M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3497
102M
    {
3498
102M
        return m_sentinel;
3499
102M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3497
7.52M
    {
3498
7.52M
        return m_sentinel;
3499
7.52M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3497
637k
    {
3498
637k
        return m_sentinel;
3499
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3497
35.4M
    {
3498
35.4M
        return m_sentinel;
3499
35.4M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3497
6.83k
    {
3498
6.83k
        return m_sentinel;
3499
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3500
3501
    SCN_NODISCARD constexpr bool empty() const
3502
    {
3503
        return m_iterator == m_sentinel;
3504
    }
3505
3506
    template <typename I_ = I,
3507
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3508
    constexpr std::size_t size() const
3509
2.42M
    {
3510
2.42M
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
2.42M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
1.87M
    {
3510
1.87M
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
1.87M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3509
551k
    {
3510
551k
        return static_cast<size_t>(m_sentinel - m_iterator);
3511
551k
    }
3512
3513
private:
3514
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3515
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3516
};
3517
3518
template <typename I,
3519
          typename S,
3520
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3521
              nullptr>
3522
subrange(I, S) -> subrange<I, S>;
3523
3524
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3525
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3526
3527
}  // namespace detail::subrange_
3528
3529
/**
3530
 * \see `std::ranges::subrange`
3531
 */
3532
using detail::subrange_::subrange;
3533
3534
template <typename I, typename S>
3535
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3536
3537
struct default_sentinel_t {};
3538
inline constexpr default_sentinel_t default_sentinel{};
3539
3540
}  // namespace ranges
3541
3542
namespace detail {
3543
3544
namespace char_t_fn {
3545
template <typename T, typename = typename T::value_type>
3546
constexpr auto impl_nonarray(priority_tag<2>)
3547
0
{
3548
0
    return tag_type<typename T::value_type>{};
3549
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3550
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3551
constexpr auto impl_nonarray(priority_tag<1>)
3552
0
{
3553
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3554
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3555
template <typename T>
3556
constexpr auto impl_nonarray(priority_tag<0>)
3557
{
3558
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3559
}
3560
3561
template <typename T,
3562
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3563
constexpr auto impl()
3564
0
{
3565
0
    using T_nocvref = remove_cvref_t<T>;
3566
0
    if constexpr (std::is_array_v<T_nocvref>) {
3567
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3568
0
    }
3569
0
    else {
3570
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3571
0
    }
3572
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3573
3574
template <typename Range>
3575
using result = decltype(impl<Range>());
3576
}  // namespace char_t_fn
3577
3578
template <typename Range>
3579
using char_t = typename char_t_fn::result<Range>::type;
3580
3581
template <typename Range, typename = void>
3582
inline constexpr bool is_file_or_narrow_range_impl = false;
3583
template <>
3584
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3585
template <typename Range>
3586
inline constexpr bool
3587
    is_file_or_narrow_range_impl<Range,
3588
                                 std::enable_if_t<ranges::range<Range>>> =
3589
        std::is_same_v<char_t<Range>, char>;
3590
3591
template <typename Range>
3592
inline constexpr bool is_file_or_narrow_range =
3593
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3594
3595
template <typename Range, typename = void>
3596
inline constexpr bool is_wide_range = false;
3597
template <typename Range>
3598
inline constexpr bool
3599
    is_wide_range<Range,
3600
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3601
        std::is_same_v<char_t<Range>, wchar_t>;
3602
3603
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3604
struct borrowed_tail_subrange {
3605
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3606
};
3607
template <typename R>
3608
struct borrowed_tail_subrange<R, false> {
3609
    using type = ranges::dangling;
3610
};
3611
3612
/// Equivalent to
3613
/// `ranges::subrange<ranges::iterator_t<R>,
3614
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3615
/// `ranges::dangling` otherwise.
3616
///
3617
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3618
/// the range sentinel.
3619
template <typename R>
3620
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3621
3622
}  // namespace detail
3623
3624
namespace ranges {
3625
template <typename CharT, typename Traits>
3626
inline constexpr bool
3627
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3628
}
3629
3630
/////////////////////////////////////////////////////////////////
3631
// Small generic algorithms
3632
/////////////////////////////////////////////////////////////////
3633
3634
namespace detail {
3635
3636
/**
3637
 * Implementation of `std::min_element` without including `<algorithm>`
3638
 */
3639
template <typename It>
3640
constexpr It min_element(It first, It last)
3641
{
3642
    if (first == last) {
3643
        return last;
3644
    }
3645
3646
    It smallest = first;
3647
    ++first;
3648
    for (; first != last; ++first) {
3649
        if (*first < *smallest) {
3650
            smallest = first;
3651
        }
3652
    }
3653
    return smallest;
3654
}
3655
3656
/**
3657
 * Implementation of `std::min` without including `<algorithm>`
3658
 */
3659
template <typename T>
3660
constexpr T min(T a, T b) noexcept
3661
{
3662
    return (b < a) ? b : a;
3663
}
3664
3665
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3666
constexpr Ptr find(Ptr first, Ptr last, T value)
3667
{
3668
    for (; first != last; ++first) {
3669
        if (*first == value) {
3670
            return first;
3671
        }
3672
    }
3673
    return last;
3674
}
3675
3676
template <>
3677
inline const char* find<false, char>(const char* first,
3678
                                     const char* last,
3679
                                     char value)
3680
0
{
3681
0
    auto ptr = static_cast<const char*>(
3682
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3683
0
    return ptr != nullptr ? ptr : last;
3684
0
}
3685
3686
}  // namespace detail
3687
3688
/////////////////////////////////////////////////////////////////
3689
// Errors
3690
/////////////////////////////////////////////////////////////////
3691
3692
/**
3693
 * Error class.
3694
 * Used as a return value for functions without a success value.
3695
 * Doesn't have a success state, and isn't default constructible:
3696
 * use `expected<void, scan_error>` to achieve that.
3697
 *
3698
 * \ingroup result
3699
 */
3700
class SCN_TRIVIAL_ABI scan_error {
3701
public:
3702
    /// Error code
3703
    enum code {
3704
        /// Input ended unexpectedly.
3705
        end_of_input,
3706
3707
        /// Format string was invalid.
3708
        /// Often a compile-time error, if supported and/or enabled.
3709
        invalid_format_string,
3710
3711
        /// Scanned value was invalid for given type,
3712
        /// or a value of the given couldn't be scanned.
3713
        invalid_scanned_value,
3714
3715
        /// Literal character specified in format string not found in source.
3716
        invalid_literal,
3717
3718
        /// Too many fill characters scanned,
3719
        /// field precision (max width) exceeded.
3720
        invalid_fill,
3721
3722
        /// Scanned field width was shorter than
3723
        /// what was specified as the minimum field width.
3724
        length_too_short,
3725
3726
        /// Source range is in an invalid state,
3727
        /// failed to continue reading.
3728
        invalid_source_state,
3729
3730
        /// Value out of range, too large (higher than the maximum value)
3731
        /// i.e. >2^32 for int32
3732
        value_positive_overflow,
3733
3734
        /// Value out of range, too small (lower than the minimum value)
3735
        /// i.e. <2^32 for int32
3736
        value_negative_overflow,
3737
3738
        /// Value out of range, magnitude too small, sign +
3739
        /// (between 0 and the smallest subnormal float)
3740
        value_positive_underflow,
3741
3742
        /// Value out of range, magnitude too small, sign -
3743
        /// (between 0 and the smallest subnormal float)
3744
        value_negative_underflow,
3745
3746
        /// Value of this type can't be parsed,
3747
        /// either from this source or not at all.
3748
        type_not_supported,
3749
3750
        max_error
3751
    };
3752
3753
private:
3754
    using code_t = code;
3755
3756
public:
3757
    /// Constructs an error with `c` and `m`
3758
718k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3759
718k
    {
3760
718k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3761
718k
    }
3762
3763
    constexpr explicit operator code_t() const noexcept
3764
0
    {
3765
0
        return m_code;
3766
0
    }
3767
3768
    /// Get error code
3769
    SCN_NODISCARD constexpr code_t code() const noexcept
3770
0
    {
3771
0
        return m_code;
3772
0
    }
3773
    /// Get error message
3774
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3775
0
    {
3776
0
        return m_msg;
3777
0
    }
3778
3779
    /// Convert to a `std::errc`.
3780
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3781
0
    {
3782
0
        switch (m_code) {
3783
0
            case end_of_input:
3784
0
            case invalid_format_string:
3785
0
            case invalid_scanned_value:
3786
0
            case invalid_literal:
3787
0
            case invalid_fill:
3788
0
            case length_too_short:
3789
0
                return std::errc::invalid_argument;
3790
0
            case invalid_source_state:
3791
0
                return std::errc::io_error;
3792
0
            case value_positive_overflow:
3793
0
            case value_negative_overflow:
3794
0
            case value_positive_underflow:
3795
0
            case value_negative_underflow:
3796
0
                return std::errc::result_out_of_range;
3797
0
            case max_error:
3798
0
            default:
3799
0
                assert(false);
3800
0
                SCN_UNREACHABLE;
3801
0
        }
3802
0
    }
3803
3804
private:
3805
    const char* m_msg;
3806
    code_t m_code;
3807
};
3808
3809
constexpr bool operator==(scan_error a, scan_error b) noexcept
3810
0
{
3811
0
    return a.code() == b.code();
3812
0
}
3813
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3814
0
{
3815
0
    return !(a == b);
3816
0
}
3817
3818
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3819
0
{
3820
0
    return a.code() == b;
3821
0
}
3822
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3823
0
{
3824
0
    return !(a == b);
3825
0
}
3826
3827
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3828
0
{
3829
0
    return a == b.code();
3830
0
}
3831
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3832
0
{
3833
0
    return !(a == b);
3834
0
}
3835
3836
namespace detail {
3837
// Intentionally not constexpr, to give out a compile-time error
3838
SCN_COLD scan_error handle_error(scan_error e);
3839
}  // namespace detail
3840
3841
#if SCN_HAS_EXCEPTIONS
3842
3843
namespace detail {
3844
3845
class scan_format_string_error_base : public std::runtime_error {
3846
public:
3847
    explicit scan_format_string_error_base(const std::string& what_arg)
3848
        : runtime_error(what_arg)
3849
0
    {
3850
0
    }
3851
3852
    explicit scan_format_string_error_base(std::false_type,
3853
                                           const char* what_arg)
3854
        : runtime_error(what_arg)
3855
0
    {
3856
0
    }
3857
3858
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3859
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3860
0
    {
3861
0
    }
3862
3863
    // Doing everything in a `detail::` base class
3864
    // to make this a `friend` inside that namespace
3865
    // (essentially private)
3866
    friend const char* get_internal_literal_msg(
3867
        const scan_format_string_error_base& m)
3868
0
    {
3869
0
        return m.m_internal_literal_msg;
3870
0
    }
3871
3872
private:
3873
    const char* m_internal_literal_msg{nullptr};
3874
};
3875
3876
}  // namespace detail
3877
3878
/**
3879
 * An exception type used to report format string parsing errors.
3880
 */
3881
class scan_format_string_error : public detail::scan_format_string_error_base {
3882
public:
3883
    // Not `using` constructors to document them explicitly.
3884
3885
    /**
3886
     * Construct from a `std::string`.
3887
     */
3888
    explicit scan_format_string_error(const std::string& what_arg)
3889
        : scan_format_string_error_base(what_arg)
3890
0
    {
3891
0
    }
3892
3893
    /**
3894
     * Construct from a `const char*`.
3895
     */
3896
    explicit scan_format_string_error(const char* what_arg)
3897
        : scan_format_string_error_base(std::false_type{}, what_arg)
3898
0
    {
3899
0
    }
3900
3901
    /**
3902
     * Construct from a string literal.
3903
     */
3904
    template <std::size_t N>
3905
    explicit scan_format_string_error(const char (&what_arg)[N])
3906
        : scan_format_string_error_base(std::true_type{}, what_arg)
3907
    {
3908
    }
3909
};
3910
#endif
3911
3912
/**
3913
 * An `expected<T, scan_error>`.
3914
 *
3915
 * Not a type alias to shorten template names.
3916
 *
3917
 * \ingroup result
3918
 */
3919
template <typename T>
3920
struct scan_expected : public expected<T, scan_error> {
3921
    using expected<T, scan_error>::expected;
3922
3923
    scan_expected(const expected<T, scan_error>& other)
3924
        : expected<T, scan_error>(other)
3925
    {
3926
    }
3927
    scan_expected(expected<T, scan_error>&& other)
3928
417k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
417k
    {
3930
417k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3928
309k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
309k
    {
3930
309k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3928
107k
        : expected<T, scan_error>(SCN_MOVE(other))
3929
107k
    {
3930
107k
    }
3931
};
3932
3933
namespace detail {
3934
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3935
592k
{
3936
592k
    return unexpected(scan_error{c, m});
3937
592k
}
3938
3939
template <typename T>
3940
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3941
}  // namespace detail
3942
3943
774k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3944
774k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3945
774k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3946
3947
#define SCN_TRY_DISCARD(x)                                      \
3948
1.46M
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3949
0
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3950
0
    }
3951
3952
#define SCN_TRY_ASSIGN(init, x)                        \
3953
9.14M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3954
9.14M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3955
774k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3956
774k
    }                                                  \
3957
9.14M
    init = *SCN_FWD(SCN_TRY_TMP);
3958
8.28M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3959
3960
/////////////////////////////////////////////////////////////////
3961
// string_view utilities
3962
/////////////////////////////////////////////////////////////////
3963
3964
namespace detail {
3965
3966
template <typename T>
3967
struct is_string_view : std::false_type {};
3968
template <typename CharT, typename Traits>
3969
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3970
};
3971
3972
// workarounds for MSVC string_view debug iterators
3973
template <typename CharT>
3974
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3975
    typename std::basic_string_view<CharT>::iterator first,
3976
    typename std::basic_string_view<CharT>::iterator last)
3977
593k
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
593k
    else {
3984
593k
        return {to_address(first), static_cast<size_t>(std::distance(
3985
593k
                                       to_address(first), to_address(last)))};
3986
593k
    }
3987
593k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3977
593k
{
3978
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3979
                                          decltype(first), decltype(last)> &&
3980
                  !SCN_MSVC_DEBUG_ITERATORS) {
3981
        return {first, last};
3982
    }
3983
593k
    else {
3984
593k
        return {to_address(first), static_cast<size_t>(std::distance(
3985
593k
                                       to_address(first), to_address(last)))};
3986
593k
    }
3987
593k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
3988
3989
template <typename CharT>
3990
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3991
    const CharT* first,
3992
    const CharT* last)
3993
597k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
597k
    else {
3999
597k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
597k
    }
4001
597k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3993
592k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
592k
    else {
3999
592k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
592k
    }
4001
592k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3993
5.47k
{
3994
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3995
                                          const CharT*, const CharT*>) {
3996
        return {first, last};
3997
    }
3998
5.47k
    else {
3999
5.47k
        return {first, static_cast<size_t>(std::distance(first, last))};
4000
5.47k
    }
4001
5.47k
}
4002
4003
template <typename CharT>
4004
constexpr auto make_string_view_iterator(
4005
    std::basic_string_view<CharT> sv,
4006
    typename std::basic_string_view<CharT>::iterator it) ->
4007
    typename std::basic_string_view<CharT>::iterator
4008
1.37M
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
1.37M
        SCN_UNUSED(sv);
4014
1.37M
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
1.37M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
4008
1.37M
{
4009
    if constexpr (std::is_constructible_v<
4010
                      typename std::basic_string_view<CharT>::iterator,
4011
                      decltype(it)> &&
4012
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
4013
1.37M
        SCN_UNUSED(sv);
4014
1.37M
        return it;
4015
    }
4016
    else {
4017
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4018
    }
4019
1.37M
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4020
4021
template <typename CharT>
4022
constexpr auto make_string_view_iterator_from_pointer(
4023
    std::basic_string_view<CharT> sv,
4024
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4025
{
4026
    if constexpr (std::is_constructible_v<
4027
                      typename std::basic_string_view<CharT>::iterator,
4028
                      const CharT*> &&
4029
                  !SCN_MSVC_DEBUG_ITERATORS) {
4030
        SCN_UNUSED(sv);
4031
        return ptr;
4032
    }
4033
    else {
4034
        return sv.begin() + std::distance(sv.data(), ptr);
4035
    }
4036
}
4037
4038
/////////////////////////////////////////////////////////////////
4039
// Lightweight Unicode facilities
4040
/////////////////////////////////////////////////////////////////
4041
4042
constexpr inline bool is_ascii_code_point(char32_t cp)
4043
0
{
4044
0
    return cp <= 0x7f;
4045
0
}
4046
4047
template <typename U8>
4048
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4049
862k
{
4050
862k
    static_assert(sizeof(U8) == 1);
4051
4052
862k
    SCN_GCC_COMPAT_PUSH
4053
862k
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4054
862k
    constexpr char lengths[] =
4055
862k
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4056
862k
        "\1\1\1\1\1\1\1\1"
4057
862k
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4058
                            // byte
4059
862k
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4060
862k
        "\3\3"              // highest bits 1110 -> 3-byte cp
4061
862k
        "\4";               // highest bits 11110 -> 4-byte cp
4062
862k
    return lengths[static_cast<unsigned char>(ch) >> 3];
4063
862k
    SCN_GCC_COMPAT_POP
4064
862k
}
4065
4066
template <typename U16>
4067
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4068
{
4069
    static_assert(sizeof(U16) == 2);
4070
4071
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4072
    if (lead >= 0xd800 && lead <= 0xdbff) {
4073
        // high surrogate
4074
        return 2;
4075
    }
4076
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4077
        // unpaired low surrogate
4078
        return 0;
4079
    }
4080
    return 1;
4081
}
4082
4083
template <typename U>
4084
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4085
1.13M
{
4086
1.13M
    if constexpr (sizeof(U) == 1) {
4087
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
271k
    else {
4093
        // utf-32
4094
271k
        static_assert(sizeof(U) == 4);
4095
271k
        SCN_UNUSED(ch);
4096
271k
        return 1;
4097
271k
    }
4098
1.13M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4085
862k
{
4086
862k
    if constexpr (sizeof(U) == 1) {
4087
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
    else {
4093
        // utf-32
4094
        static_assert(sizeof(U) == 4);
4095
        SCN_UNUSED(ch);
4096
        return 1;
4097
    }
4098
862k
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4085
271k
{
4086
    if constexpr (sizeof(U) == 1) {
4087
        return utf8_code_point_length_by_starting_code_unit(ch);
4088
    }
4089
    else if constexpr (sizeof(U) == 2) {
4090
        return utf16_code_point_length_by_starting_code_unit(ch);
4091
    }
4092
271k
    else {
4093
        // utf-32
4094
271k
        static_assert(sizeof(U) == 4);
4095
271k
        SCN_UNUSED(ch);
4096
271k
        return 1;
4097
271k
    }
4098
271k
}
4099
4100
inline constexpr char32_t invalid_code_point = 0x110000;
4101
4102
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4103
    std::string_view input)
4104
845k
{
4105
845k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4106
4107
845k
    const auto is_trailing_code_unit = [](char ch) {
4108
13.0k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4109
13.0k
    };
4110
4111
845k
    if (input.size() == 1) {
4112
836k
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4113
1.01k
            SCN_UNLIKELY_ATTR
4114
1.01k
            return invalid_code_point;
4115
1.01k
        }
4116
835k
        return static_cast<char32_t>(input[0]);
4117
836k
    }
4118
4119
8.97k
    if (input.size() == 2) {
4120
3.65k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4121
44
            SCN_UNLIKELY_ATTR
4122
44
            return invalid_code_point;
4123
44
        }
4124
3.61k
        if (!is_trailing_code_unit(input[1])) {
4125
830
            SCN_UNLIKELY_ATTR
4126
830
            return invalid_code_point;
4127
830
        }
4128
4129
2.78k
        char32_t cp{};
4130
2.78k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4131
2.78k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4132
2.78k
        return cp;
4133
3.61k
    }
4134
4135
5.31k
    if (input.size() == 3) {
4136
4.14k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4137
53
            SCN_UNLIKELY_ATTR
4138
53
            return invalid_code_point;
4139
53
        }
4140
4.08k
        if (!is_trailing_code_unit(input[1]) ||
4141
4.08k
            !is_trailing_code_unit(input[2])) {
4142
873
            SCN_UNLIKELY_ATTR
4143
873
            return invalid_code_point;
4144
873
        }
4145
4146
3.21k
        char32_t cp{};
4147
3.21k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4148
3.21k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4149
3.21k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4150
3.21k
        return cp;
4151
4.08k
    }
4152
4153
1.17k
    if (input.size() == 4) {
4154
1.17k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4155
0
            SCN_UNLIKELY_ATTR
4156
0
            return invalid_code_point;
4157
0
        }
4158
1.17k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4159
275
            SCN_UNLIKELY_ATTR
4160
275
            return invalid_code_point;
4161
275
        }
4162
901
        if (!is_trailing_code_unit(input[1]) ||
4163
901
            !is_trailing_code_unit(input[2]) ||
4164
901
            !is_trailing_code_unit(input[3])) {
4165
414
            SCN_UNLIKELY_ATTR
4166
414
            return invalid_code_point;
4167
414
        }
4168
4169
487
        char32_t cp{};
4170
487
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4171
487
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4172
487
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4173
487
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4174
487
        return cp;
4175
901
    }
4176
4177
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4178
    // gcc 7 thinks we'll get here, even when we won't
4179
0
    SCN_EXPECT(false);
4180
0
#endif
4181
0
    SCN_UNREACHABLE;
4182
0
}
4183
4184
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4185
    std::string_view input)
4186
0
{
4187
0
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4188
4189
0
    const auto is_trailing_code_unit = [](char ch) {
4190
0
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4191
0
    };
4192
4193
0
    if (input.size() == 1) {
4194
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4195
0
        return static_cast<char32_t>(input[0]);
4196
0
    }
4197
4198
0
    if (input.size() == 2) {
4199
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4200
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4201
4202
0
        char32_t cp{};
4203
0
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4204
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4205
0
        return cp;
4206
0
    }
4207
4208
0
    if (input.size() == 3) {
4209
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4210
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4211
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4212
4213
0
        char32_t cp{};
4214
0
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4215
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4216
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4217
0
        return cp;
4218
0
    }
4219
4220
0
    if (input.size() == 4) {
4221
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4222
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4223
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4224
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4225
0
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4226
4227
0
        char32_t cp{};
4228
0
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4229
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4230
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4231
0
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4232
0
        return cp;
4233
0
    }
4234
4235
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4236
    // gcc 7 thinks we'll get here, even when we won't
4237
0
    SCN_EXPECT(false);
4238
0
#endif
4239
0
    SCN_UNREACHABLE;
4240
0
}
4241
4242
template <typename CharT>
4243
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4244
    std::basic_string_view<CharT> input)
4245
{
4246
    static_assert(sizeof(CharT) == 2);
4247
4248
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4249
4250
    if (input.size() == 1) {
4251
        return static_cast<char32_t>(input[0]);
4252
    }
4253
4254
    const auto lead = static_cast<uint32_t>(input[0]);
4255
    const auto trail = static_cast<uint32_t>(input[1]);
4256
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4257
        SCN_UNLIKELY_ATTR
4258
        return invalid_code_point;
4259
    }
4260
4261
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4262
    return static_cast<char32_t>(cp + 0x10000);
4263
}
4264
4265
template <typename CharT>
4266
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4267
    std::basic_string_view<CharT> input)
4268
{
4269
    static_assert(sizeof(CharT) == 2);
4270
4271
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4272
4273
    if (input.size() == 1) {
4274
        return static_cast<char32_t>(input[0]);
4275
    }
4276
4277
    const auto lead = static_cast<uint32_t>(input[0]);
4278
    const auto trail = static_cast<uint32_t>(input[1]);
4279
    SCN_EXPECT(lead >= 0xd800);
4280
    SCN_EXPECT(lead <= 0xdbff);
4281
    SCN_EXPECT(trail >= 0xdc00);
4282
    SCN_EXPECT(trail <= 0xdfff);
4283
4284
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4285
    return static_cast<char32_t>(cp + 0x10000);
4286
}
4287
4288
template <typename CharT>
4289
inline constexpr char32_t decode_code_point_exhaustive(
4290
    std::basic_string_view<CharT> input)
4291
1.11M
{
4292
1.11M
    if constexpr (sizeof(CharT) == 1) {
4293
845k
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
271k
    else {
4299
271k
        SCN_EXPECT(input.size() == 1);
4300
271k
        auto cp = static_cast<char32_t>(input.front());
4301
271k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
105k
            return invalid_code_point;
4303
105k
        }
4304
166k
        return cp;
4305
271k
    }
4306
1.11M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4291
845k
{
4292
845k
    if constexpr (sizeof(CharT) == 1) {
4293
845k
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
    else {
4299
        SCN_EXPECT(input.size() == 1);
4300
        auto cp = static_cast<char32_t>(input.front());
4301
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
            return invalid_code_point;
4303
        }
4304
        return cp;
4305
    }
4306
845k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4291
271k
{
4292
    if constexpr (sizeof(CharT) == 1) {
4293
        return decode_utf8_code_point_exhaustive(input);
4294
    }
4295
    else if constexpr (sizeof(CharT) == 2) {
4296
        return decode_utf16_code_point_exhaustive(input);
4297
    }
4298
271k
    else {
4299
271k
        SCN_EXPECT(input.size() == 1);
4300
271k
        auto cp = static_cast<char32_t>(input.front());
4301
271k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4302
105k
            return invalid_code_point;
4303
105k
        }
4304
166k
        return cp;
4305
271k
    }
4306
271k
}
4307
4308
template <typename CharT>
4309
inline constexpr char32_t decode_code_point_exhaustive_valid(
4310
    std::basic_string_view<CharT> input)
4311
0
{
4312
0
    if constexpr (sizeof(CharT) == 1) {
4313
0
        return decode_utf8_code_point_exhaustive_valid(input);
4314
    }
4315
    else if constexpr (sizeof(CharT) == 2) {
4316
        return decode_utf16_code_point_exhaustive_valid(input);
4317
    }
4318
0
    else {
4319
0
        SCN_EXPECT(input.size() == 1);
4320
0
        return static_cast<char32_t>(input.front());
4321
0
    }
4322
0
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4323
4324
inline constexpr bool is_cp_space(char32_t cp) noexcept
4325
1.07M
{
4326
    // Pattern_White_Space property
4327
1.07M
    return (cp >= 0x09 && cp <= 0x0d) ||
4328
1.07M
           cp == 0x20 ||    // ASCII space characters
4329
1.07M
           cp == 0x85 ||    // NEXT LINE (NEL)
4330
1.07M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4331
1.07M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4332
1.07M
           cp == 0x2028 ||  // LINE SEPARATOR
4333
1.07M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4334
1.07M
}
4335
4336
}  // namespace detail
4337
4338
/////////////////////////////////////////////////////////////////
4339
// scan_buffer
4340
/////////////////////////////////////////////////////////////////
4341
4342
namespace detail {
4343
template <typename CharT>
4344
class basic_scan_buffer {
4345
public:
4346
    class forward_iterator;
4347
    class common_forward_iterator;
4348
4349
    using char_type = CharT;
4350
    using range_type =
4351
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4352
    using common_range_type = ranges::subrange<common_forward_iterator>;
4353
4354
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4355
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4356
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4357
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4358
634k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4358
449k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4358
184k
    virtual ~basic_scan_buffer() = default;
4359
4360
    virtual bool fill() = 0;
4361
4362
    virtual bool sync(std::ptrdiff_t position)
4363
634k
    {
4364
634k
        SCN_UNUSED(position);
4365
634k
        return true;
4366
634k
    }
scn::v4::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4363
449k
    {
4364
449k
        SCN_UNUSED(position);
4365
449k
        return true;
4366
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4363
184k
    {
4364
184k
        SCN_UNUSED(position);
4365
184k
        return true;
4366
184k
    }
4367
4368
    bool sync_all()
4369
260k
    {
4370
260k
        return sync(0);
4371
260k
    }
scn::v4::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4369
86.6k
    {
4370
86.6k
        return sync(0);
4371
86.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4369
173k
    {
4370
173k
        return sync(0);
4371
173k
    }
4372
4373
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4374
69.5G
    {
4375
69.5G
        return m_putback_buffer.size() + m_current_view.size();
4376
69.5G
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4374
69.4G
    {
4375
69.4G
        return m_putback_buffer.size() + m_current_view.size();
4376
69.4G
    }
scn::v4::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4374
24.5M
    {
4375
24.5M
        return m_putback_buffer.size() + m_current_view.size();
4376
24.5M
    }
4377
4378
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4379
0
    {
4380
0
        return m_current_view;
4381
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4382
4383
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4384
0
    {
4385
0
        return m_putback_buffer;
4386
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4387
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4388
    {
4389
        return m_putback_buffer;
4390
    }
4391
4392
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4393
        std::ptrdiff_t pos) const
4394
1.55M
    {
4395
1.55M
        if (SCN_UNLIKELY(
4396
1.55M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
380k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
380k
        }
4399
1.17M
        const auto start = pos - m_putback_buffer.size();
4400
1.17M
        SCN_EXPECT(start <= m_current_view.size());
4401
1.17M
        return m_current_view.substr(start);
4402
1.17M
    }
scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4394
1.41M
    {
4395
1.41M
        if (SCN_UNLIKELY(
4396
1.41M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
377k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
377k
        }
4399
1.03M
        const auto start = pos - m_putback_buffer.size();
4400
1.03M
        SCN_EXPECT(start <= m_current_view.size());
4401
1.03M
        return m_current_view.substr(start);
4402
1.03M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4394
140k
    {
4395
140k
        if (SCN_UNLIKELY(
4396
140k
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4397
2.71k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4398
2.71k
        }
4399
137k
        const auto start = pos - m_putback_buffer.size();
4400
137k
        SCN_EXPECT(start <= m_current_view.size());
4401
137k
        return m_current_view.substr(start);
4402
137k
    }
4403
4404
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4405
40.9M
    {
4406
40.9M
        if (SCN_UNLIKELY(
4407
40.9M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
4.58M
            return m_putback_buffer[pos];
4409
4.58M
        }
4410
36.3M
        const auto start = pos - m_putback_buffer.size();
4411
36.3M
        SCN_EXPECT(start < m_current_view.size());
4412
36.3M
        return m_current_view[start];
4413
36.3M
    }
scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4405
6.15M
    {
4406
6.15M
        if (SCN_UNLIKELY(
4407
6.15M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
3.91M
            return m_putback_buffer[pos];
4409
3.91M
        }
4410
2.24M
        const auto start = pos - m_putback_buffer.size();
4411
2.24M
        SCN_EXPECT(start < m_current_view.size());
4412
2.24M
        return m_current_view[start];
4413
2.24M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4405
34.8M
    {
4406
34.8M
        if (SCN_UNLIKELY(
4407
34.8M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4408
665k
            return m_putback_buffer[pos];
4409
665k
        }
4410
34.1M
        const auto start = pos - m_putback_buffer.size();
4411
34.1M
        SCN_EXPECT(start < m_current_view.size());
4412
34.1M
        return m_current_view[start];
4413
34.1M
    }
4414
4415
    SCN_NODISCARD bool is_contiguous() const
4416
1.90M
    {
4417
1.90M
        return m_is_contiguous;
4418
1.90M
    }
scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4416
1.34M
    {
4417
1.34M
        return m_is_contiguous;
4418
1.34M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4416
554k
    {
4417
554k
        return m_is_contiguous;
4418
554k
    }
4419
4420
    SCN_NODISCARD auto get_contiguous() const
4421
0
    {
4422
0
        SCN_EXPECT(is_contiguous());
4423
0
        return ranges::subrange<const CharT*>{
4424
0
            current_view().data(),
4425
0
            current_view().data() + current_view().size()};
4426
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4427
4428
    SCN_NODISCARD range_type get();
4429
    SCN_NODISCARD common_range_type get_common_range();
4430
4431
protected:
4432
    friend class forward_iterator;
4433
    friend class common_forward_iterator;
4434
4435
    struct contiguous_tag {};
4436
    struct non_contiguous_tag {};
4437
4438
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4439
0
        : m_current_view(sv), m_is_contiguous(true)
4440
0
    {
4441
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4442
4443
    basic_scan_buffer(non_contiguous_tag,
4444
                      std::basic_string_view<char_type> sv = {})
4445
634k
        : m_current_view(sv), m_is_contiguous(false)
4446
634k
    {
4447
634k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4445
449k
        : m_current_view(sv), m_is_contiguous(false)
4446
449k
    {
4447
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4445
184k
        : m_current_view(sv), m_is_contiguous(false)
4446
184k
    {
4447
184k
    }
4448
4449
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4450
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4451
0
    {
4452
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4453
4454
    std::basic_string_view<char_type> m_current_view{};
4455
    std::basic_string<char_type> m_putback_buffer{};
4456
    bool m_is_contiguous{false};
4457
};
4458
4459
template <typename CharT>
4460
class basic_scan_buffer<CharT>::forward_iterator {
4461
public:
4462
    using value_type = CharT;
4463
    using reference = CharT;
4464
    using pointer = CharT*;
4465
    using difference_type = std::ptrdiff_t;
4466
    using iterator_category = std::forward_iterator_tag;
4467
4468
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4469
4470
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4471
634k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
634k
    {
4473
634k
        SCN_EXPECT(parent);
4474
634k
        SCN_EXPECT(!parent->is_contiguous());
4475
634k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4471
449k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
449k
    {
4473
449k
        SCN_EXPECT(parent);
4474
449k
        SCN_EXPECT(!parent->is_contiguous());
4475
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4471
184k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4472
184k
    {
4473
184k
        SCN_EXPECT(parent);
4474
184k
        SCN_EXPECT(!parent->is_contiguous());
4475
184k
    }
4476
4477
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4478
0
        : m_begin(const_cast<CharT*>(view.data())),
4479
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4480
0
          m_position(pos)
4481
0
    {
4482
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4483
4484
    std::ptrdiff_t position() const
4485
2.43M
    {
4486
2.43M
        return m_position;
4487
2.43M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4485
2.18M
    {
4486
2.18M
        return m_position;
4487
2.18M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4485
245k
    {
4486
245k
        return m_position;
4487
245k
    }
4488
4489
    bool stores_parent() const
4490
139G
    {
4491
139G
        assert(m_begin);
4492
139G
        return m_end == nullptr;
4493
139G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4490
62.0M
    {
4491
62.0M
        assert(m_begin);
4492
62.0M
        return m_end == nullptr;
4493
62.0M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4490
138G
    {
4491
138G
        assert(m_begin);
4492
138G
        return m_end == nullptr;
4493
138G
    }
4494
4495
    basic_scan_buffer<CharT>* parent()
4496
437k
    {
4497
437k
        SCN_EXPECT(stores_parent());
4498
437k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4499
437k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4496
336k
    {
4497
336k
        SCN_EXPECT(stores_parent());
4498
336k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4499
336k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4496
100k
    {
4497
100k
        SCN_EXPECT(stores_parent());
4498
100k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4499
100k
    }
4500
    const basic_scan_buffer<CharT>* parent() const
4501
69.5G
    {
4502
69.5G
        SCN_EXPECT(stores_parent());
4503
69.5G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
69.5G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4501
34.1M
    {
4502
34.1M
        SCN_EXPECT(stores_parent());
4503
34.1M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
34.1M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4501
69.5G
    {
4502
69.5G
        SCN_EXPECT(stores_parent());
4503
69.5G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4504
69.5G
    }
4505
4506
    std::basic_string_view<CharT> contiguous_segment() const
4507
1.55M
    {
4508
1.55M
        if (!stores_parent()) {
4509
0
            return make_string_view_from_pointers(
4510
0
                static_cast<const CharT*>(m_begin) + position(),
4511
0
                static_cast<const CharT*>(m_end));
4512
0
        }
4513
1.55M
        return parent()->get_segment_starting_at(position());
4514
1.55M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4507
1.41M
    {
4508
1.41M
        if (!stores_parent()) {
4509
0
            return make_string_view_from_pointers(
4510
0
                static_cast<const CharT*>(m_begin) + position(),
4511
0
                static_cast<const CharT*>(m_end));
4512
0
        }
4513
1.41M
        return parent()->get_segment_starting_at(position());
4514
1.41M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4507
140k
    {
4508
140k
        if (!stores_parent()) {
4509
0
            return make_string_view_from_pointers(
4510
0
                static_cast<const CharT*>(m_begin) + position(),
4511
0
                static_cast<const CharT*>(m_end));
4512
0
        }
4513
140k
        return parent()->get_segment_starting_at(position());
4514
140k
    }
4515
    auto to_contiguous_segment_iterator() const
4516
    {
4517
        return contiguous_segment().data();
4518
    }
4519
4520
    forward_iterator& operator++()
4521
69.3G
    {
4522
69.3G
        ++m_position;
4523
69.3G
        (void)read_at_position();
4524
69.3G
        return *this;
4525
69.3G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4521
8.68M
    {
4522
8.68M
        ++m_position;
4523
8.68M
        (void)read_at_position();
4524
8.68M
        return *this;
4525
8.68M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4521
69.3G
    {
4522
69.3G
        ++m_position;
4523
69.3G
        (void)read_at_position();
4524
69.3G
        return *this;
4525
69.3G
    }
4526
4527
    forward_iterator operator++(int)
4528
    {
4529
        auto copy = *this;
4530
        operator++();
4531
        return copy;
4532
    }
4533
4534
    CharT operator*() const
4535
40.9M
    {
4536
40.9M
        SCN_EXPECT(m_begin);
4537
4538
40.9M
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
40.9M
        auto res = read_at_position();
4545
40.9M
        SCN_EXPECT(res);
4546
40.9M
        return parent()->get_character_at(m_position);
4547
40.9M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4535
6.15M
    {
4536
6.15M
        SCN_EXPECT(m_begin);
4537
4538
6.15M
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
6.15M
        auto res = read_at_position();
4545
6.15M
        SCN_EXPECT(res);
4546
6.15M
        return parent()->get_character_at(m_position);
4547
6.15M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4535
34.8M
    {
4536
34.8M
        SCN_EXPECT(m_begin);
4537
4538
34.8M
        if (!stores_parent()) {
4539
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4540
0
            SCN_EXPECT(ptr != m_end);
4541
0
            return *ptr;
4542
0
        }
4543
4544
34.8M
        auto res = read_at_position();
4545
34.8M
        SCN_EXPECT(res);
4546
34.8M
        return parent()->get_character_at(m_position);
4547
34.8M
    }
4548
4549
    forward_iterator& batch_advance(std::ptrdiff_t n)
4550
0
    {
4551
0
        SCN_EXPECT(n >= 0);
4552
0
        m_position += n;
4553
0
        return *this;
4554
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4555
4556
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4557
0
    {
4558
0
        SCN_EXPECT(i >= m_position);
4559
0
        m_position = i;
4560
0
        return *this;
4561
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4562
4563
    friend bool operator==(const forward_iterator& lhs,
4564
                           const forward_iterator& rhs)
4565
69.3G
    {
4566
69.3G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
69.3G
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4565
5.77M
    {
4566
5.77M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
5.77M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4565
69.3G
    {
4566
69.3G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4567
69.3G
    }
4568
    friend bool operator!=(const forward_iterator& lhs,
4569
                           const forward_iterator& rhs)
4570
69.3G
    {
4571
69.3G
        return !(lhs == rhs);
4572
69.3G
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4570
5.46M
    {
4571
5.46M
        return !(lhs == rhs);
4572
5.46M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4570
69.3G
    {
4571
69.3G
        return !(lhs == rhs);
4572
69.3G
    }
4573
4574
    friend bool operator==(const forward_iterator& x,
4575
                           ranges::default_sentinel_t)
4576
2.93M
    {
4577
2.93M
        return x.is_at_end();
4578
2.93M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4576
2.29M
    {
4577
2.29M
        return x.is_at_end();
4578
2.29M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4576
635k
    {
4577
635k
        return x.is_at_end();
4578
635k
    }
4579
    friend bool operator==(ranges::default_sentinel_t,
4580
                           const forward_iterator& x)
4581
    {
4582
        return x.is_at_end();
4583
    }
4584
4585
    friend bool operator!=(const forward_iterator& x,
4586
                           ranges::default_sentinel_t)
4587
36.6M
    {
4588
36.6M
        return !x.is_at_end();
4589
36.6M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4587
2.57M
    {
4588
2.57M
        return !x.is_at_end();
4589
2.57M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4587
34.1M
    {
4588
34.1M
        return !x.is_at_end();
4589
34.1M
    }
4590
    friend bool operator!=(ranges::default_sentinel_t,
4591
                           const forward_iterator& x)
4592
    {
4593
        return !x.is_at_end();
4594
    }
4595
4596
private:
4597
    friend class basic_scan_buffer<CharT>;
4598
4599
    SCN_NODISCARD bool read_at_position() const
4600
69.4G
    {
4601
69.4G
        SCN_EXPECT(m_begin);
4602
4603
69.4G
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
69.4G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
69.3G
            return true;
4609
69.3G
        }
4610
4611
72.8M
        while (m_position >= parent()->chars_available()) {
4612
36.5M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
247k
                return false;
4614
247k
            }
4615
36.5M
        }
4616
36.3M
        return true;
4617
36.5M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4600
19.7M
    {
4601
19.7M
        SCN_EXPECT(m_begin);
4602
4603
19.7M
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
19.7M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
17.3M
            return true;
4609
17.3M
        }
4610
4611
4.51M
        while (m_position >= parent()->chars_available()) {
4612
2.32M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
143k
                return false;
4614
143k
            }
4615
2.32M
        }
4616
2.18M
        return true;
4617
2.32M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4600
69.4G
    {
4601
69.4G
        SCN_EXPECT(m_begin);
4602
4603
69.4G
        if (!stores_parent()) {
4604
0
            return true;
4605
0
        }
4606
4607
69.4G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4608
69.3G
            return true;
4609
69.3G
        }
4610
4611
68.3M
        while (m_position >= parent()->chars_available()) {
4612
34.2M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4613
104k
                return false;
4614
104k
            }
4615
34.2M
        }
4616
34.1M
        return true;
4617
34.2M
    }
4618
4619
    SCN_NODISCARD bool is_at_end() const
4620
39.6M
    {
4621
39.6M
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
39.6M
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
39.6M
        return !read_at_position();
4628
39.6M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4620
4.86M
    {
4621
4.86M
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
4.86M
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
4.86M
        return !read_at_position();
4628
4.86M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4620
34.7M
    {
4621
34.7M
        if (m_end) {
4622
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4623
0
        }
4624
34.7M
        if (!m_begin) {
4625
0
            return true;
4626
0
        }
4627
34.7M
        return !read_at_position();
4628
34.7M
    }
4629
4630
    // If m_end is null, m_begin points to the parent scan_buffer
4631
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4632
    // the entire range)
4633
    mutable void* m_begin{nullptr};
4634
    mutable void* m_end{nullptr};
4635
    std::ptrdiff_t m_position{0};
4636
};
4637
4638
template <typename CharT>
4639
class basic_scan_buffer<CharT>::common_forward_iterator
4640
    : public basic_scan_buffer<CharT>::forward_iterator {
4641
    using base = basic_scan_buffer<CharT>::forward_iterator;
4642
4643
public:
4644
    common_forward_iterator() = default;
4645
4646
    explicit common_forward_iterator(forward_iterator it)
4647
0
        : base(it), m_is_end(it.is_at_end())
4648
0
    {
4649
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4650
    explicit common_forward_iterator(ranges::default_sentinel_t)
4651
0
        : base(), m_is_end(true)
4652
0
    {
4653
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4654
4655
    common_forward_iterator& operator++()
4656
    {
4657
        base::operator++();
4658
        m_is_end = base::is_at_end();
4659
        return *this;
4660
    }
4661
4662
    common_forward_iterator operator++(int)
4663
    {
4664
        auto copy = *this;
4665
        operator++();
4666
        return copy;
4667
    }
4668
4669
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4670
    {
4671
        base::batch_advance(n);
4672
        m_is_end = base::is_at_end();
4673
        return *this;
4674
    }
4675
4676
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4677
    {
4678
        base::batch_advance_to(i);
4679
        m_is_end = base::is_at_end();
4680
        return *this;
4681
    }
4682
4683
    friend bool operator==(const common_forward_iterator& lhs,
4684
                           const common_forward_iterator& rhs)
4685
    {
4686
        if (lhs.m_is_end && rhs.m_is_end) {
4687
            return true;
4688
        }
4689
        if (lhs.m_is_end != rhs.m_is_end) {
4690
            return false;
4691
        }
4692
        return static_cast<const forward_iterator&>(lhs) ==
4693
               static_cast<const forward_iterator&>(rhs);
4694
    }
4695
4696
    friend bool operator!=(const common_forward_iterator& lhs,
4697
                           const common_forward_iterator& rhs)
4698
    {
4699
        return !(lhs == rhs);
4700
    }
4701
4702
private:
4703
    bool m_is_end{};
4704
};
4705
4706
template <typename CharT>
4707
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4708
634k
{
4709
634k
    if (is_contiguous()) {
4710
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
0
                                ranges::default_sentinel};
4712
0
    }
4713
634k
    return ranges::subrange{forward_iterator{this, 0},
4714
634k
                            ranges::default_sentinel};
4715
634k
}
scn::v4::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4708
449k
{
4709
449k
    if (is_contiguous()) {
4710
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
0
                                ranges::default_sentinel};
4712
0
    }
4713
449k
    return ranges::subrange{forward_iterator{this, 0},
4714
449k
                            ranges::default_sentinel};
4715
449k
}
scn::v4::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4708
184k
{
4709
184k
    if (is_contiguous()) {
4710
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4711
0
                                ranges::default_sentinel};
4712
0
    }
4713
184k
    return ranges::subrange{forward_iterator{this, 0},
4714
184k
                            ranges::default_sentinel};
4715
184k
}
4716
4717
template <typename CharT>
4718
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4719
    -> common_range_type
4720
{
4721
    auto r = get();
4722
    return ranges::subrange{common_forward_iterator{r.begin()},
4723
                            common_forward_iterator{r.end()}};
4724
}
4725
4726
static_assert(ranges::forward_range<scan_buffer::range_type>);
4727
4728
template <typename CharT>
4729
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4730
    using base = basic_scan_buffer<CharT>;
4731
4732
public:
4733
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4734
0
        : base(typename base::contiguous_tag{}, sv)
4735
0
    {
4736
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4737
4738
    bool fill() override
4739
0
    {
4740
0
        SCN_EXPECT(false);
4741
0
        SCN_UNREACHABLE;
4742
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4743
};
4744
4745
template <typename CharT>
4746
basic_scan_string_buffer(std::basic_string_view<CharT>)
4747
    -> basic_scan_string_buffer<CharT>;
4748
4749
template <typename CharT>
4750
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4751
    using base = basic_scan_buffer<CharT>;
4752
4753
protected:
4754
634k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
634k
    {
4756
634k
    }
scn::v4::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4754
449k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
449k
    {
4756
449k
    }
scn::v4::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4754
184k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4755
184k
    {
4756
184k
    }
4757
};
4758
4759
template <typename I, typename S>
4760
using less_than_compare =
4761
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4762
4763
template <typename Range>
4764
class basic_scan_forward_buffer_impl
4765
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4766
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4767
4768
    using _char_type = detail::char_t<Range>;
4769
    using base = basic_scan_forward_buffer_base<_char_type>;
4770
4771
public:
4772
    using char_type = _char_type;
4773
    using range_type = Range;
4774
    using iterator = ranges::iterator_t<const Range>;
4775
    using sentinel = ranges::sentinel_t<const Range>;
4776
4777
    template <
4778
        typename R,
4779
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4780
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4781
    basic_scan_forward_buffer_impl(R&& r)
4782
634k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
634k
          m_cursor(ranges::begin(*m_range))
4784
634k
    {
4785
634k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4782
449k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
449k
          m_cursor(ranges::begin(*m_range))
4784
449k
    {
4785
449k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4782
184k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4783
184k
          m_cursor(ranges::begin(*m_range))
4784
184k
    {
4785
184k
    }
4786
4787
    bool fill() override
4788
36.5M
    {
4789
36.5M
        if (m_cursor == ranges::end(*m_range)) {
4790
247k
            return false;
4791
247k
        }
4792
36.3M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
36.3M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
36.3M
        }
4795
36.3M
        if (!this->m_current_view.empty()) {
4796
35.7M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
35.7M
                                          this->m_current_view.begin(),
4798
35.7M
                                          this->m_current_view.end());
4799
35.7M
        }
4800
36.3M
        m_latest = *m_cursor;
4801
36.3M
        ++m_cursor;
4802
36.3M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
36.3M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
36.3M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
36.3M
        }
4806
36.3M
        return true;
4807
36.5M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4788
2.32M
    {
4789
2.32M
        if (m_cursor == ranges::end(*m_range)) {
4790
143k
            return false;
4791
143k
        }
4792
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
2.18M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
2.18M
        }
4795
2.18M
        if (!this->m_current_view.empty()) {
4796
1.76M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
1.76M
                                          this->m_current_view.begin(),
4798
1.76M
                                          this->m_current_view.end());
4799
1.76M
        }
4800
2.18M
        m_latest = *m_cursor;
4801
2.18M
        ++m_cursor;
4802
2.18M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
2.18M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
2.18M
        }
4806
2.18M
        return true;
4807
2.32M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4788
34.2M
    {
4789
34.2M
        if (m_cursor == ranges::end(*m_range)) {
4790
104k
            return false;
4791
104k
        }
4792
34.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4793
34.1M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4794
34.1M
        }
4795
34.1M
        if (!this->m_current_view.empty()) {
4796
33.9M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4797
33.9M
                                          this->m_current_view.begin(),
4798
33.9M
                                          this->m_current_view.end());
4799
33.9M
        }
4800
34.1M
        m_latest = *m_cursor;
4801
34.1M
        ++m_cursor;
4802
34.1M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4803
34.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4804
34.1M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4805
34.1M
        }
4806
34.1M
        return true;
4807
34.2M
    }
4808
4809
private:
4810
    const Range* m_range;
4811
    iterator m_cursor;
4812
    char_type m_latest{};
4813
};
4814
4815
template <typename R>
4816
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4817
4818
struct default_file_tag {};
4819
struct gnu_file_tag {};
4820
struct bsd_file_tag {};
4821
struct musl_file_tag {};
4822
struct win32_file_tag {};
4823
4824
// Non-pretty workaround for MSVC silliness
4825
template <typename F, typename = void>
4826
inline constexpr bool is_gnu_file = false;
4827
template <typename F>
4828
inline constexpr bool
4829
    is_gnu_file<F,
4830
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4831
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4832
4833
template <typename F, typename = void>
4834
inline constexpr bool is_bsd_file = false;
4835
template <typename F>
4836
inline constexpr bool is_bsd_file<
4837
    F,
4838
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4839
    true;
4840
4841
template <typename F, typename = void>
4842
inline constexpr bool is_musl_file = false;
4843
template <typename F>
4844
inline constexpr bool is_musl_file<
4845
    F,
4846
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4847
    true;
4848
4849
template <typename F>
4850
inline constexpr bool is_win32_file =
4851
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4852
4853
constexpr auto get_file_tag()
4854
0
{
4855
0
    if constexpr (is_gnu_file<std::FILE>) {
4856
0
        return detail::tag_type<gnu_file_tag>{};
4857
0
    }
4858
0
    else if constexpr (is_bsd_file<std::FILE>) {
4859
0
        return detail::tag_type<bsd_file_tag>{};
4860
0
    }
4861
0
    else if constexpr (is_musl_file<std::FILE>) {
4862
0
        return detail::tag_type<musl_file_tag>{};
4863
0
    }
4864
0
    else if constexpr (is_win32_file<std::FILE>) {
4865
0
        return detail::tag_type<win32_file_tag>{};
4866
0
    }
4867
0
    else {
4868
0
        return detail::tag_type<default_file_tag>{};
4869
0
    }
4870
0
}
4871
4872
template <typename File>
4873
struct stdio_file_interface_base {
4874
0
    stdio_file_interface_base(File* f) : file(f) {}
4875
    ~stdio_file_interface_base() = default;
4876
4877
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4878
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4879
        delete;
4880
4881
    stdio_file_interface_base(stdio_file_interface_base&& other)
4882
0
        : file(other.file)
4883
0
    {
4884
0
        other.file = nullptr;
4885
0
    }
4886
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4887
    {
4888
        file = other.file;
4889
        other.file = nullptr;
4890
        return *this;
4891
    }
4892
4893
    File* file;
4894
};
4895
4896
template <typename File, typename Tag>
4897
struct stdio_file_interface_impl;
4898
4899
template <typename File>
4900
struct stdio_file_interface_impl<File, default_file_tag>
4901
    : stdio_file_interface_base<File> {
4902
    void lock() {}
4903
    void unlock() {}
4904
4905
    bool has_buffering() const
4906
    {
4907
        return false;
4908
    }
4909
4910
    std::string_view buffer() const
4911
    {
4912
        return {};
4913
    }
4914
    void unsafe_advance_n(std::ptrdiff_t)
4915
    {
4916
        SCN_EXPECT(false);
4917
        SCN_UNREACHABLE;
4918
    }
4919
    void fill_buffer()
4920
    {
4921
        SCN_EXPECT(false);
4922
        SCN_UNREACHABLE;
4923
    }
4924
4925
    std::optional<char> read_one()
4926
    {
4927
        auto res = std::fgetc(this->file);
4928
        if (res == EOF) {
4929
            return std::nullopt;
4930
        }
4931
        return static_cast<char>(res);
4932
    }
4933
4934
    void prepare_putback() {}
4935
    void finalize_putback() {}
4936
4937
    bool putback(char ch)
4938
    {
4939
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4940
    }
4941
};
4942
4943
template <typename File>
4944
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4945
    void lock()
4946
0
    {
4947
0
        flockfile(this->file);
4948
0
    }
4949
    void unlock()
4950
0
    {
4951
0
        funlockfile(this->file);
4952
0
    }
4953
4954
    static bool has_buffering()
4955
0
    {
4956
0
        return true;
4957
0
    }
4958
4959
    std::optional<char> read_one()
4960
0
    {
4961
0
        auto res = getc_unlocked(this->file);
4962
0
        if (res == EOF) {
4963
0
            return std::nullopt;
4964
0
        }
4965
0
        return static_cast<char>(res);
4966
0
    }
4967
4968
    void prepare_putback()
4969
0
    {
4970
0
        unlock();
4971
0
    }
4972
    void finalize_putback()
4973
0
    {
4974
0
        lock();
4975
0
    }
4976
4977
    bool putback(char ch)
4978
0
    {
4979
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4980
0
    }
4981
};
4982
4983
template <typename File>
4984
struct stdio_file_interface_impl<File, gnu_file_tag>
4985
    : posix_stdio_file_interface<File> {
4986
    std::string_view buffer() const
4987
0
    {
4988
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4989
0
                                              this->file->_IO_read_end);
4990
0
    }
4991
    void unsafe_advance_n(std::ptrdiff_t n)
4992
0
    {
4993
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4994
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4995
0
        this->file->_IO_read_ptr += n;
4996
0
    }
4997
    void fill_buffer()
4998
0
    {
4999
0
        if (__uflow(this->file) != EOF) {
5000
0
            --this->file->_IO_read_ptr;
5001
0
        }
5002
0
    }
5003
};
5004
5005
template <typename File>
5006
struct stdio_file_interface_impl<File, bsd_file_tag>
5007
    : posix_stdio_file_interface<File> {
5008
    std::string_view buffer() const
5009
    {
5010
        return {reinterpret_cast<const char*>(this->file->_p),
5011
                static_cast<std::size_t>(this->file->_r)};
5012
    }
5013
    void unsafe_advance_n(std::ptrdiff_t n)
5014
    {
5015
        SCN_EXPECT(this->file->_p != nullptr);
5016
        SCN_EXPECT(this->file->_r >= n);
5017
        this->file->_p += n;
5018
        this->file->_r -= n;
5019
    }
5020
    void fill_buffer()
5021
    {
5022
        if (__srget(this->file) != EOF) {
5023
            --this->file->_p;
5024
            ++this->file->_r;
5025
        }
5026
    }
5027
};
5028
5029
template <typename File>
5030
struct stdio_file_interface_impl<File, musl_file_tag>
5031
    : posix_stdio_file_interface<File> {
5032
    std::string_view buffer() const
5033
    {
5034
        return make_string_view_from_pointers(
5035
            reinterpret_cast<const char*>(this->file->rpos),
5036
            reinterpret_cast<const char*>(this->file->rend));
5037
    }
5038
    void unsafe_advance_n(std::ptrdiff_t n)
5039
    {
5040
        SCN_EXPECT(this->file->rpos != nullptr);
5041
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5042
        this->file->rpos += n;
5043
    }
5044
    void fill_buffer()
5045
    {
5046
        if (__uflow(this->file) != EOF) {
5047
            --this->file->rpos;
5048
        }
5049
    }
5050
};
5051
5052
template <typename File>
5053
struct stdio_file_interface_impl<File, win32_file_tag>
5054
    : stdio_file_interface_base<File> {
5055
    void lock()
5056
    {
5057
        _lock_file(this->file);
5058
    }
5059
    void unlock()
5060
    {
5061
        _unlock_file(this->file);
5062
    }
5063
5064
    static bool has_buffering()
5065
    {
5066
        return false;
5067
    }
5068
5069
    std::string_view buffer() const
5070
    {
5071
        return {};
5072
    }
5073
    void unsafe_advance_n(std::ptrdiff_t n)
5074
    {
5075
        SCN_EXPECT(false);
5076
        SCN_UNREACHABLE;
5077
    }
5078
    void fill_buffer()
5079
    {
5080
        SCN_EXPECT(false);
5081
        SCN_UNREACHABLE;
5082
    }
5083
5084
    std::optional<char> read_one()
5085
    {
5086
        auto res = _fgetc_nolock(this->file);
5087
        if (res == EOF) {
5088
            return std::nullopt;
5089
        }
5090
        return static_cast<char>(res);
5091
    }
5092
5093
    void prepare_putback() {}
5094
    void finalize_putback() {}
5095
5096
    bool putback(char ch)
5097
    {
5098
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5099
               EOF;
5100
    }
5101
};
5102
5103
using stdio_file_interface =
5104
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5105
5106
template <typename FileInterface>
5107
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5108
    using base = basic_scan_buffer<char>;
5109
5110
public:
5111
    explicit basic_scan_file_buffer(FileInterface file);
5112
    ~basic_scan_file_buffer();
5113
5114
    bool fill() override;
5115
5116
    bool sync(std::ptrdiff_t position) override;
5117
5118
private:
5119
    FileInterface m_file;
5120
    std::optional<char_type> m_latest{std::nullopt};
5121
};
5122
5123
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5124
    explicit scan_file_buffer(std::FILE* file)
5125
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5126
0
    {
5127
0
    }
5128
};
5129
5130
extern template basic_scan_file_buffer<
5131
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5132
extern template basic_scan_file_buffer<
5133
    stdio_file_interface>::~basic_scan_file_buffer();
5134
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5135
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5136
    std::ptrdiff_t);
5137
5138
template <typename CharT>
5139
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5140
    using base = basic_scan_buffer<CharT>;
5141
5142
public:
5143
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5144
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5145
0
          m_other(&other),
5146
0
          m_starting_pos(starting_pos)
5147
0
    {
5148
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5149
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5150
0
                                    this->m_current_view.end();
5151
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5152
5153
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5154
0
        : base(true, view), m_other(nullptr)
5155
0
    {
5156
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5157
5158
    bool fill() override
5159
0
    {
5160
0
        if (!m_other) {
5161
0
            return false;
5162
0
        }
5163
0
        SCN_EXPECT(m_starting_pos >= 0);
5164
5165
0
        if (m_fill_needs_to_propagate) {
5166
0
            auto ret = m_other->fill();
5167
0
            this->m_current_view = m_other->current_view();
5168
0
            this->m_putback_buffer =
5169
0
                m_other->putback_buffer().substr(m_starting_pos);
5170
0
            return ret;
5171
0
        }
5172
5173
0
        m_fill_needs_to_propagate = true;
5174
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5175
0
        this->m_current_view = m_other->current_view();
5176
0
        return true;
5177
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5178
5179
private:
5180
    base* m_other;
5181
    std::ptrdiff_t m_starting_pos{-1};
5182
    bool m_fill_needs_to_propagate{false};
5183
};
5184
5185
template <typename CharT>
5186
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5187
    -> basic_scan_ref_buffer<CharT>;
5188
5189
template <typename CharT>
5190
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5191
    -> basic_scan_ref_buffer<CharT>;
5192
5193
template <typename Range>
5194
auto make_string_scan_buffer(const Range& range)
5195
{
5196
    return basic_scan_string_buffer(
5197
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5198
}
5199
5200
template <typename Range>
5201
auto make_forward_scan_buffer(const Range& range)
5202
634k
{
5203
634k
    return basic_scan_forward_buffer_impl(range);
5204
634k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5202
449k
{
5203
449k
    return basic_scan_forward_buffer_impl(range);
5204
449k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5202
184k
{
5203
184k
    return basic_scan_forward_buffer_impl(range);
5204
184k
}
5205
5206
inline auto make_file_scan_buffer(std::FILE* file)
5207
0
{
5208
0
    return scan_file_buffer(file);
5209
0
}
5210
}  // namespace detail
5211
5212
/////////////////////////////////////////////////////////////////
5213
// make_scan_buffer
5214
/////////////////////////////////////////////////////////////////
5215
5216
/**
5217
 * \defgroup scannable Scannable sources
5218
 *
5219
 * \brief Description of the `scannable_range` and `scannable_source`
5220
 * concepts.
5221
 *
5222
 * A range is considered scannable, if it models at least `forward_range`,
5223
 * and its character type is correct (its value type is the same as the one
5224
 * of the format string).
5225
 * If the range additionally models `contiguous_range` and `sized_range`,
5226
 * additional optimizations are enabled.
5227
 *
5228
 * \code{.cpp}
5229
 * // Exposition only
5230
 * template <typename Range, typename CharT>
5231
 * concept scannable_range =
5232
 *     ranges::forward_range<Range> &&
5233
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5234
 * \endcode
5235
 *
5236
 * Additionally, files (`std::FILE*`) can be scanned from.
5237
 * Files are always considered to be narrow (`char`-oriented).
5238
 * Thus, the entire concept is:
5239
 *
5240
 * \code{.cpp}
5241
 * // Exposition only
5242
 * template <typename Source, typename CharT>
5243
 * concept scannable_source =
5244
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5245
 *    std::same_as<CharT, char>) ||
5246
 *   scannable_range<Source, CharT>;
5247
 * \endcode
5248
 */
5249
5250
/**
5251
 * Tag type to indicate an invalid range given to `scn::scan`
5252
 *
5253
 * \ingroup scannable
5254
 */
5255
struct invalid_input_range {};
5256
5257
struct invalid_char_type : invalid_input_range {};
5258
struct custom_char_traits : invalid_input_range {};
5259
struct file_marker_found : invalid_input_range {};
5260
struct insufficient_range : invalid_input_range {};
5261
5262
namespace detail {
5263
template <typename CharT>
5264
inline constexpr bool is_valid_char_type =
5265
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5266
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5267
5268
namespace _make_scan_buffer {
5269
// buffer -> ref_buffer
5270
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5271
    -> basic_scan_ref_buffer<char>
5272
0
{
5273
0
    if (!r.begin().stores_parent()) {
5274
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5275
0
    }
5276
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5277
0
}
5278
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5279
    -> basic_scan_ref_buffer<wchar_t>
5280
0
{
5281
0
    if (!r.begin().stores_parent()) {
5282
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5283
0
    }
5284
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5285
0
}
5286
5287
// string_view -> string_buffer
5288
template <typename CharT>
5289
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5290
{
5291
    if constexpr (is_valid_char_type<CharT>) {
5292
        return r;
5293
        // return make_string_scan_buffer(r);
5294
    }
5295
    else {
5296
        return invalid_char_type{};
5297
    }
5298
}
5299
5300
// string& -> string_buffer
5301
template <typename CharT, typename Traits, typename Allocator>
5302
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5303
          priority_tag<3>) noexcept
5304
0
{
5305
    if constexpr (!is_valid_char_type<CharT>) {
5306
        return invalid_char_type{};
5307
    }
5308
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5309
        return custom_char_traits{};
5310
    }
5311
0
    else {
5312
0
        return std::basic_string_view<CharT>{r};
5313
0
    }
5314
0
}
5315
5316
// String literals:
5317
// CharT(&)[] -> string_buffer
5318
template <typename CharT,
5319
          std::size_t N,
5320
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5321
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5322
{
5323
    return std::basic_string_view<CharT>{r, N - 1};
5324
}
5325
5326
// FILE* -> file_buffer
5327
inline auto impl(std::FILE* file, priority_tag<3>)
5328
0
{
5329
0
    return make_file_scan_buffer(file);
5330
0
}
5331
5332
// contiguous + sized -> string_buffer
5333
template <typename Range,
5334
          std::enable_if_t<ranges::contiguous_range<Range> &&
5335
                           ranges::sized_range<Range>>* = nullptr>
5336
auto impl(const Range& r, priority_tag<2>)
5337
635k
{
5338
635k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
635k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
635k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5337
450k
{
5338
450k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
450k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
450k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5337
184k
{
5338
184k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
184k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
184k
}
5345
5346
// !contiguous + random-access + iterator can be made into a ptr
5347
// for MSVC debug iterators
5348
//   -> string_buffer
5349
template <typename Range,
5350
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5351
                           ranges::random_access_range<Range> &&
5352
                           can_make_address_from_iterator<
5353
                               ranges::iterator_t<Range>>>* = nullptr>
5354
auto impl(const Range& r, priority_tag<1>)
5355
{
5356
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5357
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5358
                                              to_address(ranges::end(r)));
5359
    }
5360
    else {
5361
        return invalid_char_type{};
5362
    }
5363
}
5364
5365
// forward -> forward_buffer<R>
5366
template <typename Range>
5367
auto impl(const Range& r, priority_tag<0>)
5368
634k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
634k
    else {
5384
634k
        return make_forward_scan_buffer(r);
5385
634k
    }
5386
634k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5368
449k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
449k
    else {
5384
449k
        return make_forward_scan_buffer(r);
5385
449k
    }
5386
449k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5368
184k
{
5369
    if constexpr (std::is_same_v<Range, file_marker>) {
5370
        return file_marker_found{};
5371
    }
5372
    else if constexpr (!ranges::forward_range<Range>) {
5373
        if constexpr (ranges::range<Range>) {
5374
            return insufficient_range{};
5375
        }
5376
        else {
5377
            return invalid_input_range{};
5378
        }
5379
    }
5380
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5381
        return invalid_char_type{};
5382
    }
5383
184k
    else {
5384
184k
        return make_forward_scan_buffer(r);
5385
184k
    }
5386
184k
}
5387
}  // namespace _make_scan_buffer
5388
5389
template <typename Range>
5390
inline constexpr bool is_scannable_range =
5391
    !std::is_base_of_v<invalid_input_range,
5392
                       decltype(_make_scan_buffer::impl(
5393
                                    SCN_DECLVAL(const Range&)),
5394
                                priority_tag<4>{})>;
5395
5396
template <typename Range>
5397
auto make_scan_buffer(const Range& range)
5398
1.26M
{
5399
1.26M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
1.26M
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
1.26M
                  "\n"
5403
1.26M
                  "Unsupported range type given as input to a scanning "
5404
1.26M
                  "function.\n"
5405
1.26M
                  "A range needs to have a character type (value type) "
5406
1.26M
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
1.26M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
1.26M
                  "to be included.\n"
5409
1.26M
                  "See the scnlib documentation for more details.");
5410
1.26M
    static_assert(
5411
1.26M
        !std::is_same_v<T, custom_char_traits>,
5412
1.26M
        "\n"
5413
1.26M
        "Unsupported range type given as input to a scanning "
5414
1.26M
        "function.\n"
5415
1.26M
        "String types (std::basic_string, and std::basic_string_view) "
5416
1.26M
        "need to use std::char_traits. Strings with custom Traits are "
5417
1.26M
        "not supported.");
5418
1.26M
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
1.26M
                  "\n"
5420
1.26M
                  "Unsupported range type given as input to a scanning "
5421
1.26M
                  "function.\n"
5422
1.26M
                  "file_marker_found cannot be used as an "
5423
1.26M
                  "source range type to scn::scan.\n"
5424
1.26M
                  "To read from stdin, use scn::input or scn::prompt, "
5425
1.26M
                  "and do not provide an explicit source range, "
5426
1.26M
                  "or use scn::scan with a FILE* directly.");
5427
1.26M
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
1.26M
                  "\n"
5429
1.26M
                  "Unsupported range type given as input to a scanning "
5430
1.26M
                  "function.\n"
5431
1.26M
                  "In order to be scannable, a range needs to satisfy "
5432
1.26M
                  "`forward_range`. `input_range` is not sufficient.");
5433
1.26M
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
1.26M
                  "\n"
5435
1.26M
                  "Unsupported range type given as input to a scanning "
5436
1.26M
                  "function.\n"
5437
1.26M
                  "A range needs to model forward_range and have a valid "
5438
1.26M
                  "character type (char or wchar_t) to be scannable.\n"
5439
1.26M
                  "Examples of scannable ranges are std::string, "
5440
1.26M
                  "std::string_view, "
5441
1.26M
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
1.26M
                  "See the scnlib documentation for more details.");
5443
5444
1.26M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
1.26M
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
5398
450k
{
5399
450k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
450k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
450k
                  "\n"
5403
450k
                  "Unsupported range type given as input to a scanning "
5404
450k
                  "function.\n"
5405
450k
                  "A range needs to have a character type (value type) "
5406
450k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
450k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
450k
                  "to be included.\n"
5409
450k
                  "See the scnlib documentation for more details.");
5410
450k
    static_assert(
5411
450k
        !std::is_same_v<T, custom_char_traits>,
5412
450k
        "\n"
5413
450k
        "Unsupported range type given as input to a scanning "
5414
450k
        "function.\n"
5415
450k
        "String types (std::basic_string, and std::basic_string_view) "
5416
450k
        "need to use std::char_traits. Strings with custom Traits are "
5417
450k
        "not supported.");
5418
450k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
450k
                  "\n"
5420
450k
                  "Unsupported range type given as input to a scanning "
5421
450k
                  "function.\n"
5422
450k
                  "file_marker_found cannot be used as an "
5423
450k
                  "source range type to scn::scan.\n"
5424
450k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
450k
                  "and do not provide an explicit source range, "
5426
450k
                  "or use scn::scan with a FILE* directly.");
5427
450k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
450k
                  "\n"
5429
450k
                  "Unsupported range type given as input to a scanning "
5430
450k
                  "function.\n"
5431
450k
                  "In order to be scannable, a range needs to satisfy "
5432
450k
                  "`forward_range`. `input_range` is not sufficient.");
5433
450k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
450k
                  "\n"
5435
450k
                  "Unsupported range type given as input to a scanning "
5436
450k
                  "function.\n"
5437
450k
                  "A range needs to model forward_range and have a valid "
5438
450k
                  "character type (char or wchar_t) to be scannable.\n"
5439
450k
                  "Examples of scannable ranges are std::string, "
5440
450k
                  "std::string_view, "
5441
450k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
450k
                  "See the scnlib documentation for more details.");
5443
5444
450k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
450k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5398
449k
{
5399
449k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
449k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
449k
                  "\n"
5403
449k
                  "Unsupported range type given as input to a scanning "
5404
449k
                  "function.\n"
5405
449k
                  "A range needs to have a character type (value type) "
5406
449k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
449k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
449k
                  "to be included.\n"
5409
449k
                  "See the scnlib documentation for more details.");
5410
449k
    static_assert(
5411
449k
        !std::is_same_v<T, custom_char_traits>,
5412
449k
        "\n"
5413
449k
        "Unsupported range type given as input to a scanning "
5414
449k
        "function.\n"
5415
449k
        "String types (std::basic_string, and std::basic_string_view) "
5416
449k
        "need to use std::char_traits. Strings with custom Traits are "
5417
449k
        "not supported.");
5418
449k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
449k
                  "\n"
5420
449k
                  "Unsupported range type given as input to a scanning "
5421
449k
                  "function.\n"
5422
449k
                  "file_marker_found cannot be used as an "
5423
449k
                  "source range type to scn::scan.\n"
5424
449k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
449k
                  "and do not provide an explicit source range, "
5426
449k
                  "or use scn::scan with a FILE* directly.");
5427
449k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
449k
                  "\n"
5429
449k
                  "Unsupported range type given as input to a scanning "
5430
449k
                  "function.\n"
5431
449k
                  "In order to be scannable, a range needs to satisfy "
5432
449k
                  "`forward_range`. `input_range` is not sufficient.");
5433
449k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
449k
                  "\n"
5435
449k
                  "Unsupported range type given as input to a scanning "
5436
449k
                  "function.\n"
5437
449k
                  "A range needs to model forward_range and have a valid "
5438
449k
                  "character type (char or wchar_t) to be scannable.\n"
5439
449k
                  "Examples of scannable ranges are std::string, "
5440
449k
                  "std::string_view, "
5441
449k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
449k
                  "See the scnlib documentation for more details.");
5443
5444
449k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
449k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
5398
184k
{
5399
184k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
184k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
184k
                  "\n"
5403
184k
                  "Unsupported range type given as input to a scanning "
5404
184k
                  "function.\n"
5405
184k
                  "A range needs to have a character type (value type) "
5406
184k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
184k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
184k
                  "to be included.\n"
5409
184k
                  "See the scnlib documentation for more details.");
5410
184k
    static_assert(
5411
184k
        !std::is_same_v<T, custom_char_traits>,
5412
184k
        "\n"
5413
184k
        "Unsupported range type given as input to a scanning "
5414
184k
        "function.\n"
5415
184k
        "String types (std::basic_string, and std::basic_string_view) "
5416
184k
        "need to use std::char_traits. Strings with custom Traits are "
5417
184k
        "not supported.");
5418
184k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
184k
                  "\n"
5420
184k
                  "Unsupported range type given as input to a scanning "
5421
184k
                  "function.\n"
5422
184k
                  "file_marker_found cannot be used as an "
5423
184k
                  "source range type to scn::scan.\n"
5424
184k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
184k
                  "and do not provide an explicit source range, "
5426
184k
                  "or use scn::scan with a FILE* directly.");
5427
184k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
184k
                  "\n"
5429
184k
                  "Unsupported range type given as input to a scanning "
5430
184k
                  "function.\n"
5431
184k
                  "In order to be scannable, a range needs to satisfy "
5432
184k
                  "`forward_range`. `input_range` is not sufficient.");
5433
184k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
184k
                  "\n"
5435
184k
                  "Unsupported range type given as input to a scanning "
5436
184k
                  "function.\n"
5437
184k
                  "A range needs to model forward_range and have a valid "
5438
184k
                  "character type (char or wchar_t) to be scannable.\n"
5439
184k
                  "Examples of scannable ranges are std::string, "
5440
184k
                  "std::string_view, "
5441
184k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
184k
                  "See the scnlib documentation for more details.");
5443
5444
184k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
184k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5398
184k
{
5399
184k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5400
5401
184k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5402
184k
                  "\n"
5403
184k
                  "Unsupported range type given as input to a scanning "
5404
184k
                  "function.\n"
5405
184k
                  "A range needs to have a character type (value type) "
5406
184k
                  "of either `char` or `wchar_t` to be scannable.\n"
5407
184k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5408
184k
                  "to be included.\n"
5409
184k
                  "See the scnlib documentation for more details.");
5410
184k
    static_assert(
5411
184k
        !std::is_same_v<T, custom_char_traits>,
5412
184k
        "\n"
5413
184k
        "Unsupported range type given as input to a scanning "
5414
184k
        "function.\n"
5415
184k
        "String types (std::basic_string, and std::basic_string_view) "
5416
184k
        "need to use std::char_traits. Strings with custom Traits are "
5417
184k
        "not supported.");
5418
184k
    static_assert(!std::is_same_v<T, file_marker_found>,
5419
184k
                  "\n"
5420
184k
                  "Unsupported range type given as input to a scanning "
5421
184k
                  "function.\n"
5422
184k
                  "file_marker_found cannot be used as an "
5423
184k
                  "source range type to scn::scan.\n"
5424
184k
                  "To read from stdin, use scn::input or scn::prompt, "
5425
184k
                  "and do not provide an explicit source range, "
5426
184k
                  "or use scn::scan with a FILE* directly.");
5427
184k
    static_assert(!std::is_same_v<T, insufficient_range>,
5428
184k
                  "\n"
5429
184k
                  "Unsupported range type given as input to a scanning "
5430
184k
                  "function.\n"
5431
184k
                  "In order to be scannable, a range needs to satisfy "
5432
184k
                  "`forward_range`. `input_range` is not sufficient.");
5433
184k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5434
184k
                  "\n"
5435
184k
                  "Unsupported range type given as input to a scanning "
5436
184k
                  "function.\n"
5437
184k
                  "A range needs to model forward_range and have a valid "
5438
184k
                  "character type (char or wchar_t) to be scannable.\n"
5439
184k
                  "Examples of scannable ranges are std::string, "
5440
184k
                  "std::string_view, "
5441
184k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5442
184k
                  "See the scnlib documentation for more details.");
5443
5444
184k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5445
184k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
5446
5447
template <
5448
    typename Range,
5449
    std::enable_if_t<
5450
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5451
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5452
auto make_scan_buffer(Range&&) = delete;
5453
}  // namespace detail
5454
5455
/////////////////////////////////////////////////////////////////
5456
// Argument type erasure
5457
/////////////////////////////////////////////////////////////////
5458
5459
namespace detail {
5460
enum class arg_type : unsigned char {
5461
    none_type,
5462
    schar_type,
5463
    short_type,
5464
    int_type,
5465
    long_type,
5466
    llong_type,
5467
    int128_type,
5468
    uchar_type,
5469
    ushort_type,
5470
    uint_type,
5471
    ulong_type,
5472
    ullong_type,
5473
    uint128_type,
5474
    bool_type,
5475
    narrow_character_type,
5476
    wide_character_type,
5477
    code_point_type,
5478
    pointer_type,
5479
    float_type,
5480
    double_type,
5481
    ldouble_type,
5482
    float16_type,
5483
    float32_type,
5484
    float64_type,
5485
    float128_type,
5486
    bfloat16_type,
5487
    // Only a single string_view_type,
5488
    // no separate narrow/wide versions,
5489
    // because only one of them is valid for each CharT
5490
    string_view_type,
5491
    narrow_string_type,
5492
    wide_string_type,
5493
    custom_type,
5494
    last_type = custom_type
5495
};
5496
5497
template <typename>
5498
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5499
5500
template <typename CharT>
5501
inline constexpr bool is_type_disabled<basic_regex_matches<CharT>> =
5502
    SCN_DISABLE_REGEX;
5503
5504
template <typename T, typename CharT>
5505
struct arg_type_constant
5506
    : std::integral_constant<arg_type, arg_type::custom_type> {
5507
    using type = T;
5508
};
5509
5510
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5511
    template <typename CharT>                             \
5512
    struct arg_type_constant<Type, CharT>                 \
5513
        : std::integral_constant<arg_type, arg_type::C> { \
5514
        using type = Type;                                \
5515
    };                                                    \
5516
    template <>                                           \
5517
    inline constexpr bool is_type_disabled<Type> = Disabled
5518
5519
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5520
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5521
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5522
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5523
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5524
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5525
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5526
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5527
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5528
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5529
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5530
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5531
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5532
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5533
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5534
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5535
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5536
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5537
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5538
SCN_TYPE_CONSTANT(std::string_view,
5539
                  string_view_type,
5540
                  SCN_DISABLE_TYPE_STRING_VIEW);
5541
SCN_TYPE_CONSTANT(std::wstring_view,
5542
                  string_view_type,
5543
                  SCN_DISABLE_TYPE_STRING_VIEW);
5544
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5545
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5546
5547
#if SCN_HAS_INT128
5548
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5549
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5550
#endif
5551
5552
#if SCN_HAS_STD_F16
5553
SCN_TYPE_CONSTANT(std::float16_t, float16_type, SCN_DISABLE_TYPE_FLOAT16);
5554
#endif
5555
#if SCN_HAS_STD_F32
5556
SCN_TYPE_CONSTANT(std::float32_t, float32_type, SCN_DISABLE_TYPE_FLOAT32);
5557
#endif
5558
#if SCN_HAS_STD_F64
5559
SCN_TYPE_CONSTANT(std::float64_t, float64_type, SCN_DISABLE_TYPE_FLOAT64);
5560
#endif
5561
#if SCN_HAS_STD_F128
5562
SCN_TYPE_CONSTANT(std::float128_t, float128_type, SCN_DISABLE_TYPE_FLOAT128);
5563
#endif
5564
#if SCN_HAS_STD_BF16
5565
SCN_TYPE_CONSTANT(std::bfloat16_t, bfloat16_type, SCN_DISABLE_TYPE_BFLOAT16);
5566
#endif
5567
5568
#undef SCN_TYPE_CONSTANT
5569
5570
struct custom_value_type {
5571
    void* value;
5572
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5573
};
5574
5575
struct unscannable {};
5576
struct unscannable_char : unscannable {};
5577
struct unscannable_const : unscannable {};
5578
struct unscannable_disabled : unscannable {
5579
    unscannable_disabled() = default;
5580
5581
    template <typename T>
5582
    constexpr unscannable_disabled(T&&)
5583
    {
5584
    }
5585
};
5586
5587
struct needs_context_tag {};
5588
5589
template <typename Context>
5590
struct context_tag {
5591
    using type = Context;
5592
};
5593
5594
template <typename T, typename Context>
5595
struct custom_wrapper {
5596
    using context_type = Context;
5597
    T& val;
5598
};
5599
5600
template <typename T, typename Scanner, typename ParseCtx>
5601
scan_expected<void> parse_custom_arg(T& arg, Scanner& s, ParseCtx& pctx)
5602
{
5603
#if SCN_HAS_EXCEPTIONS
5604
    auto fmt_it = pctx.begin();
5605
    try {
5606
        fmt_it = s.parse(pctx);
5607
    }
5608
    catch (const detail::scan_format_string_error_base& ex) {
5609
        // scan_error takes a const char*.
5610
        // scan_format_string_error (or, actually, std::runtime_error)
5611
        // stores a reference-counted string,
5612
        // that will go out of scope here.
5613
        // We need to provide a const char* that will stay in scope.
5614
        // If scan_format_string_error was thrown with a string literal,
5615
        // use that, otherwise refer to a thread_local std::string
5616
        if (const char* m = get_internal_literal_msg(ex)) {
5617
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5618
        }
5619
        thread_local std::string err_msg{};
5620
        err_msg = ex.what();
5621
        return unexpected_scan_error(scan_error::invalid_format_string,
5622
                                     err_msg.c_str());
5623
    }
5624
#else
5625
    auto fmt_it = s.parse(pctx_ref);
5626
#endif
5627
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5628
        return e;
5629
    }
5630
    pctx.advance_to(fmt_it);
5631
    return {};
5632
}
5633
5634
class arg_value {
5635
public:
5636
    // trivial default initialization in constexpr
5637
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5638
    SCN_STD > SCN_STD_20
5639
    constexpr arg_value() = default;
5640
#else
5641
1.26M
    arg_value() = default;
5642
#endif
5643
5644
    template <typename T>
5645
1.26M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
1.26M
    {
5647
1.26M
    }
scn::v4::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
5645
207k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
207k
    {
5647
207k
    }
scn::v4::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
5645
189k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
189k
    {
5647
189k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5645
232k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
232k
    {
5647
232k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5645
200k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
200k
    {
5647
200k
    }
scn::v4::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
5645
235k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
235k
    {
5647
235k
    }
scn::v4::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
5645
202k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5646
202k
    {
5647
202k
    }
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<double>(double&)
5648
5649
    template <typename T, typename Context>
5650
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5651
        : custom_value{static_cast<void*>(&val.val),
5652
                       scan_custom_arg<T, Context>}
5653
    {
5654
    }
5655
5656
    arg_value(unscannable);
5657
    arg_value(unscannable_char);
5658
    arg_value(unscannable_const);
5659
    arg_value(unscannable_disabled);
5660
5661
    union {
5662
        void* ref_value{nullptr};
5663
        custom_value_type custom_value;
5664
    };
5665
5666
private:
5667
    template <typename T, typename Context>
5668
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5669
    {
5670
        static_assert(!is_type_disabled<T>,
5671
                      "Scanning of custom types is disabled by "
5672
                      "SCN_DISABLE_TYPE_CUSTOM");
5673
        SCN_EXPECT(arg && pctx && ctx);
5674
5675
        using context_type = Context;
5676
        using parse_context_type = typename context_type::parse_context_type;
5677
        using scanner_type = typename context_type::template scanner_type<T>;
5678
5679
        auto s = scanner_type{};
5680
5681
        auto& arg_ref = *static_cast<T*>(arg);
5682
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5683
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5684
5685
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5686
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5687
        ctx_ref.advance_to(SCN_MOVE(it));
5688
5689
        return {};
5690
    }
5691
};
5692
5693
template <typename CharT>
5694
struct arg_mapper {
5695
    using char_type = CharT;
5696
    using other_char_type =
5697
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5698
5699
#define SCN_ARG_MAPPER(T)                                                    \
5700
    static auto map(T& val)                                                  \
5701
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5702
1.26M
    {                                                                        \
5703
1.26M
        return val;                                                          \
5704
1.26M
    }
scn::v4::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
5702
146k
    {                                                                        \
5703
146k
        return val;                                                          \
5704
146k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
5702
128k
    {                                                                        \
5703
128k
        return val;                                                          \
5704
128k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5702
170k
    {                                                                        \
5703
170k
        return val;                                                          \
5704
170k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5702
139k
    {                                                                        \
5703
139k
        return val;                                                          \
5704
139k
    }
scn::v4::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
5702
173k
    {                                                                        \
5703
173k
        return val;                                                          \
5704
173k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
5702
140k
    {                                                                        \
5703
140k
        return val;                                                          \
5704
140k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
5702
61.4k
    {                                                                        \
5703
61.4k
        return val;                                                          \
5704
61.4k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
5702
61.3k
    {                                                                        \
5703
61.3k
        return val;                                                          \
5704
61.3k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5702
61.6k
    {                                                                        \
5703
61.6k
        return val;                                                          \
5704
61.6k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5702
61.4k
    {                                                                        \
5703
61.4k
        return val;                                                          \
5704
61.4k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
5702
61.8k
    {                                                                        \
5703
61.8k
        return val;                                                          \
5704
61.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
5702
61.6k
    {                                                                        \
5703
61.6k
        return val;                                                          \
5704
61.6k
    }
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(double&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5705
5706
    SCN_ARG_MAPPER(signed char)
5707
    SCN_ARG_MAPPER(short)
5708
    SCN_ARG_MAPPER(int)
5709
    SCN_ARG_MAPPER(long)
5710
    SCN_ARG_MAPPER(long long)
5711
    SCN_ARG_MAPPER(unsigned char)
5712
    SCN_ARG_MAPPER(unsigned short)
5713
    SCN_ARG_MAPPER(unsigned)
5714
    SCN_ARG_MAPPER(unsigned long)
5715
    SCN_ARG_MAPPER(unsigned long long)
5716
    SCN_ARG_MAPPER(wchar_t)
5717
    SCN_ARG_MAPPER(char32_t)
5718
    SCN_ARG_MAPPER(bool)
5719
    SCN_ARG_MAPPER(void*)
5720
    SCN_ARG_MAPPER(const void*)
5721
    SCN_ARG_MAPPER(float)
5722
    SCN_ARG_MAPPER(double)
5723
    SCN_ARG_MAPPER(long double)
5724
5725
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5726
    SCN_ARG_MAPPER(std::string)
5727
    SCN_ARG_MAPPER(std::wstring)
5728
5729
#if SCN_HAS_INT128
5730
    SCN_ARG_MAPPER(int128)
5731
    SCN_ARG_MAPPER(uint128)
5732
#endif
5733
5734
#if SCN_HAS_STD_F16
5735
    SCN_ARG_MAPPER(std::float16_t)
5736
#endif
5737
#if SCN_HAS_STD_F32
5738
    SCN_ARG_MAPPER(std::float32_t)
5739
#endif
5740
#if SCN_HAS_STD_F64
5741
    SCN_ARG_MAPPER(std::float64_t)
5742
#endif
5743
#if SCN_HAS_STD_F128
5744
    SCN_ARG_MAPPER(std::float128_t)
5745
#endif
5746
#if SCN_HAS_STD_BF16
5747
    SCN_ARG_MAPPER(std::bfloat16_t)
5748
#endif
5749
5750
#undef SCN_ARG_MAPPER
5751
5752
    static decltype(auto) map(char& val)
5753
    {
5754
        if constexpr (std::is_same_v<char_type, char> &&
5755
                      !is_type_disabled<char_type>) {
5756
            return val;
5757
        }
5758
        else if constexpr (is_type_disabled<char_type>) {
5759
            return unscannable_disabled{val};
5760
        }
5761
        else {
5762
            SCN_UNUSED(val);
5763
            return unscannable_char{};
5764
        }
5765
    }
5766
5767
#if !SCN_DISABLE_REGEX
5768
    // regex_matches treated as a custom type, not packed,
5769
    // to save bits in the packed value,
5770
    // and since regex reading isn't fast anyway
5771
    template <typename T, typename Context>
5772
    static auto map(basic_regex_matches<char_type>& val)
5773
    {
5774
        if constexpr (is_type_disabled<char_type>) {
5775
            return unscannable_disabled{val};
5776
        }
5777
        else {
5778
            return custom_wrapper<T, Context>{val};
5779
        }
5780
    }
5781
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5782
    {
5783
        return {};
5784
    }
5785
#endif
5786
5787
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5788
    {
5789
        return {};
5790
    }
5791
5792
    template <typename T,
5793
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5794
    static needs_context_tag map(T&)
5795
    {
5796
        return {};
5797
    }
5798
5799
    template <typename T,
5800
              typename Context,
5801
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5802
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5803
    {
5804
        return {val};
5805
    }
5806
5807
    static unscannable map(...)
5808
    {
5809
        return {};
5810
    }
5811
};
5812
5813
template <typename T, typename CharT>
5814
using mapped_type_constant = arg_type_constant<
5815
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5816
    CharT>;
5817
5818
template <typename T, typename CharT>
5819
using is_scannable = std::integral_constant<
5820
    bool,
5821
    !std::is_base_of_v<
5822
        unscannable,
5823
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5824
5825
constexpr std::size_t packed_arg_bits = 5;
5826
static_assert((1 << packed_arg_bits) > static_cast<int>(arg_type::last_type),
5827
              "If this fails, there are more `arg_type` values than values "
5828
              "that can fit in `packed_arg_bits`. Either something needs to be "
5829
              "removed from `arg_type` (spilling them to the stack), or "
5830
              "`packed_arg_bits` must be increased (causing the number of "
5831
              "arguments that can be packed to decrease)");
5832
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5833
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5834
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5835
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5836
5837
template <typename>
5838
constexpr size_t encode_types_impl()
5839
0
{
5840
0
    return 0;
5841
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5842
template <typename CharT, typename T, typename... Others>
5843
constexpr size_t encode_types_impl()
5844
0
{
5845
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5846
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5847
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5848
5849
template <typename CharT, typename... Ts>
5850
constexpr size_t encode_types()
5851
0
{
5852
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5853
0
        return sizeof...(Ts) |
5854
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5855
0
    }
5856
0
    else {
5857
0
        SCN_EXPECT(false);
5858
0
        SCN_UNREACHABLE;
5859
0
    }
5860
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5861
5862
template <typename T, typename Arg>
5863
constexpr auto make_value_impl(Arg&& arg)
5864
1.26M
{
5865
1.26M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
1.26M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
1.26M
    constexpr bool scannable_char =
5869
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
1.26M
    static_assert(scannable_char,
5871
1.26M
                  "Cannot scan an argument of an unsupported character "
5872
1.26M
                  "type (i.e. char from a wchar_t source)");
5873
5874
1.26M
    constexpr bool scannable_const =
5875
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
1.26M
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
1.26M
    constexpr bool scannable_disabled =
5879
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
1.26M
    static_assert(scannable_disabled,
5881
1.26M
                  "Cannot scan an argument that has been disabled by "
5882
1.26M
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
1.26M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
1.26M
    static_assert(
5886
1.26M
        scannable,
5887
1.26M
        "Cannot scan an argument. To make a type T scannable, provide "
5888
1.26M
        "a scn::scanner<T, CharT> specialization.");
5889
5890
1.26M
    return arg_value{arg};
5891
1.26M
}
auto scn::v4::detail::make_value_impl<signed char, signed char&>(signed char&)
Line
Count
Source
5864
207k
{
5865
207k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
207k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
207k
    constexpr bool scannable_char =
5869
207k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
207k
    static_assert(scannable_char,
5871
207k
                  "Cannot scan an argument of an unsupported character "
5872
207k
                  "type (i.e. char from a wchar_t source)");
5873
5874
207k
    constexpr bool scannable_const =
5875
207k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
207k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
207k
    constexpr bool scannable_disabled =
5879
207k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
207k
    static_assert(scannable_disabled,
5881
207k
                  "Cannot scan an argument that has been disabled by "
5882
207k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
207k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
207k
    static_assert(
5886
207k
        scannable,
5887
207k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
207k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
207k
    return arg_value{arg};
5891
207k
}
auto scn::v4::detail::make_value_impl<unsigned char, unsigned char&>(unsigned char&)
Line
Count
Source
5864
189k
{
5865
189k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
189k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
189k
    constexpr bool scannable_char =
5869
189k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
189k
    static_assert(scannable_char,
5871
189k
                  "Cannot scan an argument of an unsupported character "
5872
189k
                  "type (i.e. char from a wchar_t source)");
5873
5874
189k
    constexpr bool scannable_const =
5875
189k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
189k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
189k
    constexpr bool scannable_disabled =
5879
189k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
189k
    static_assert(scannable_disabled,
5881
189k
                  "Cannot scan an argument that has been disabled by "
5882
189k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
189k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
189k
    static_assert(
5886
189k
        scannable,
5887
189k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
189k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
189k
    return arg_value{arg};
5891
189k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5864
232k
{
5865
232k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
232k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
232k
    constexpr bool scannable_char =
5869
232k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
232k
    static_assert(scannable_char,
5871
232k
                  "Cannot scan an argument of an unsupported character "
5872
232k
                  "type (i.e. char from a wchar_t source)");
5873
5874
232k
    constexpr bool scannable_const =
5875
232k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
232k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
232k
    constexpr bool scannable_disabled =
5879
232k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
232k
    static_assert(scannable_disabled,
5881
232k
                  "Cannot scan an argument that has been disabled by "
5882
232k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
232k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
232k
    static_assert(
5886
232k
        scannable,
5887
232k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
232k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
232k
    return arg_value{arg};
5891
232k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5864
200k
{
5865
200k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
200k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
200k
    constexpr bool scannable_char =
5869
200k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
200k
    static_assert(scannable_char,
5871
200k
                  "Cannot scan an argument of an unsupported character "
5872
200k
                  "type (i.e. char from a wchar_t source)");
5873
5874
200k
    constexpr bool scannable_const =
5875
200k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
200k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
200k
    constexpr bool scannable_disabled =
5879
200k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
200k
    static_assert(scannable_disabled,
5881
200k
                  "Cannot scan an argument that has been disabled by "
5882
200k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
200k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
200k
    static_assert(
5886
200k
        scannable,
5887
200k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
200k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
200k
    return arg_value{arg};
5891
200k
}
auto scn::v4::detail::make_value_impl<long long, long long&>(long long&)
Line
Count
Source
5864
235k
{
5865
235k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
235k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
235k
    constexpr bool scannable_char =
5869
235k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
235k
    static_assert(scannable_char,
5871
235k
                  "Cannot scan an argument of an unsupported character "
5872
235k
                  "type (i.e. char from a wchar_t source)");
5873
5874
235k
    constexpr bool scannable_const =
5875
235k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
235k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
235k
    constexpr bool scannable_disabled =
5879
235k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
235k
    static_assert(scannable_disabled,
5881
235k
                  "Cannot scan an argument that has been disabled by "
5882
235k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
235k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
235k
    static_assert(
5886
235k
        scannable,
5887
235k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
235k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
235k
    return arg_value{arg};
5891
235k
}
auto scn::v4::detail::make_value_impl<unsigned long long, unsigned long long&>(unsigned long long&)
Line
Count
Source
5864
202k
{
5865
202k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5866
202k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5867
5868
202k
    constexpr bool scannable_char =
5869
202k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5870
202k
    static_assert(scannable_char,
5871
202k
                  "Cannot scan an argument of an unsupported character "
5872
202k
                  "type (i.e. char from a wchar_t source)");
5873
5874
202k
    constexpr bool scannable_const =
5875
202k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5876
202k
    static_assert(scannable_const, "Cannot scan a const argument");
5877
5878
202k
    constexpr bool scannable_disabled =
5879
202k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5880
202k
    static_assert(scannable_disabled,
5881
202k
                  "Cannot scan an argument that has been disabled by "
5882
202k
                  "flag (SCN_DISABLE_TYPE_*)");
5883
5884
202k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5885
202k
    static_assert(
5886
202k
        scannable,
5887
202k
        "Cannot scan an argument. To make a type T scannable, provide "
5888
202k
        "a scn::scanner<T, CharT> specialization.");
5889
5890
202k
    return arg_value{arg};
5891
202k
}
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<double, double&>(double&)
5892
5893
template <typename Context, typename T>
5894
constexpr auto make_value(T& value)
5895
1.26M
{
5896
1.26M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
1.26M
                                  needs_context_tag>) {
5900
1.26M
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
1.26M
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
5895
146k
{
5896
146k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
146k
                                  needs_context_tag>) {
5900
146k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
146k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
5895
128k
{
5896
128k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
128k
                                  needs_context_tag>) {
5900
128k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
128k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5895
170k
{
5896
170k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
170k
                                  needs_context_tag>) {
5900
170k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
170k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5895
139k
{
5896
139k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
139k
                                  needs_context_tag>) {
5900
139k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
139k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
5895
173k
{
5896
173k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
173k
                                  needs_context_tag>) {
5900
173k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
173k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5895
140k
{
5896
140k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
140k
                                  needs_context_tag>) {
5900
140k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
140k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
5895
61.4k
{
5896
61.4k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.4k
                                  needs_context_tag>) {
5900
61.4k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.4k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5895
61.3k
{
5896
61.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.3k
                                  needs_context_tag>) {
5900
61.3k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.3k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5895
61.6k
{
5896
61.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.6k
                                  needs_context_tag>) {
5900
61.6k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.6k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5895
61.4k
{
5896
61.4k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.4k
                                  needs_context_tag>) {
5900
61.4k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.4k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
5895
61.8k
{
5896
61.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.8k
                                  needs_context_tag>) {
5900
61.8k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5895
61.6k
{
5896
61.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5897
5898
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5899
61.6k
                                  needs_context_tag>) {
5900
61.6k
        return make_value_impl<T>(SCN_FWD(arg));
5901
    }
5902
    else {
5903
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5904
            value, context_tag<Context>{}));
5905
    }
5906
61.6k
}
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5907
5908
template <typename... Args>
5909
constexpr bool check_scan_arg_types()
5910
1.26M
{
5911
1.26M
    constexpr bool default_constructible_constraint =
5912
1.26M
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
1.26M
    static_assert(default_constructible_constraint,
5914
1.26M
                  "Scan argument types must be default constructible");
5915
5916
1.26M
    constexpr bool destructible_constraint =
5917
1.26M
        std::conjunction_v<std::is_destructible<Args>...>;
5918
1.26M
    static_assert(destructible_constraint,
5919
1.26M
                  "Scan argument types must be Destructible");
5920
5921
1.26M
    constexpr bool non_reference_constraint =
5922
1.26M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
1.26M
    static_assert(non_reference_constraint,
5924
1.26M
                  "Scan argument types must not be references");
5925
5926
1.26M
    constexpr bool movable_constraint =
5927
1.26M
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
1.26M
    static_assert(movable_constraint,
5929
1.26M
                  "Scan argument types must be move constructible");
5930
5931
1.26M
    return default_constructible_constraint && destructible_constraint &&
5932
1.26M
           non_reference_constraint && movable_constraint;
5933
1.26M
}
bool scn::v4::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5910
207k
{
5911
207k
    constexpr bool default_constructible_constraint =
5912
207k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
207k
    static_assert(default_constructible_constraint,
5914
207k
                  "Scan argument types must be default constructible");
5915
5916
207k
    constexpr bool destructible_constraint =
5917
207k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
207k
    static_assert(destructible_constraint,
5919
207k
                  "Scan argument types must be Destructible");
5920
5921
207k
    constexpr bool non_reference_constraint =
5922
207k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
207k
    static_assert(non_reference_constraint,
5924
207k
                  "Scan argument types must not be references");
5925
5926
207k
    constexpr bool movable_constraint =
5927
207k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
207k
    static_assert(movable_constraint,
5929
207k
                  "Scan argument types must be move constructible");
5930
5931
207k
    return default_constructible_constraint && destructible_constraint &&
5932
207k
           non_reference_constraint && movable_constraint;
5933
207k
}
bool scn::v4::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5910
189k
{
5911
189k
    constexpr bool default_constructible_constraint =
5912
189k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
189k
    static_assert(default_constructible_constraint,
5914
189k
                  "Scan argument types must be default constructible");
5915
5916
189k
    constexpr bool destructible_constraint =
5917
189k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
189k
    static_assert(destructible_constraint,
5919
189k
                  "Scan argument types must be Destructible");
5920
5921
189k
    constexpr bool non_reference_constraint =
5922
189k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
189k
    static_assert(non_reference_constraint,
5924
189k
                  "Scan argument types must not be references");
5925
5926
189k
    constexpr bool movable_constraint =
5927
189k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
189k
    static_assert(movable_constraint,
5929
189k
                  "Scan argument types must be move constructible");
5930
5931
189k
    return default_constructible_constraint && destructible_constraint &&
5932
189k
           non_reference_constraint && movable_constraint;
5933
189k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5910
232k
{
5911
232k
    constexpr bool default_constructible_constraint =
5912
232k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
232k
    static_assert(default_constructible_constraint,
5914
232k
                  "Scan argument types must be default constructible");
5915
5916
232k
    constexpr bool destructible_constraint =
5917
232k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
232k
    static_assert(destructible_constraint,
5919
232k
                  "Scan argument types must be Destructible");
5920
5921
232k
    constexpr bool non_reference_constraint =
5922
232k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
232k
    static_assert(non_reference_constraint,
5924
232k
                  "Scan argument types must not be references");
5925
5926
232k
    constexpr bool movable_constraint =
5927
232k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
232k
    static_assert(movable_constraint,
5929
232k
                  "Scan argument types must be move constructible");
5930
5931
232k
    return default_constructible_constraint && destructible_constraint &&
5932
232k
           non_reference_constraint && movable_constraint;
5933
232k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5910
200k
{
5911
200k
    constexpr bool default_constructible_constraint =
5912
200k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
200k
    static_assert(default_constructible_constraint,
5914
200k
                  "Scan argument types must be default constructible");
5915
5916
200k
    constexpr bool destructible_constraint =
5917
200k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
200k
    static_assert(destructible_constraint,
5919
200k
                  "Scan argument types must be Destructible");
5920
5921
200k
    constexpr bool non_reference_constraint =
5922
200k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
200k
    static_assert(non_reference_constraint,
5924
200k
                  "Scan argument types must not be references");
5925
5926
200k
    constexpr bool movable_constraint =
5927
200k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
200k
    static_assert(movable_constraint,
5929
200k
                  "Scan argument types must be move constructible");
5930
5931
200k
    return default_constructible_constraint && destructible_constraint &&
5932
200k
           non_reference_constraint && movable_constraint;
5933
200k
}
bool scn::v4::detail::check_scan_arg_types<long long>()
Line
Count
Source
5910
235k
{
5911
235k
    constexpr bool default_constructible_constraint =
5912
235k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
235k
    static_assert(default_constructible_constraint,
5914
235k
                  "Scan argument types must be default constructible");
5915
5916
235k
    constexpr bool destructible_constraint =
5917
235k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
235k
    static_assert(destructible_constraint,
5919
235k
                  "Scan argument types must be Destructible");
5920
5921
235k
    constexpr bool non_reference_constraint =
5922
235k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
235k
    static_assert(non_reference_constraint,
5924
235k
                  "Scan argument types must not be references");
5925
5926
235k
    constexpr bool movable_constraint =
5927
235k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
235k
    static_assert(movable_constraint,
5929
235k
                  "Scan argument types must be move constructible");
5930
5931
235k
    return default_constructible_constraint && destructible_constraint &&
5932
235k
           non_reference_constraint && movable_constraint;
5933
235k
}
bool scn::v4::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5910
202k
{
5911
202k
    constexpr bool default_constructible_constraint =
5912
202k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5913
202k
    static_assert(default_constructible_constraint,
5914
202k
                  "Scan argument types must be default constructible");
5915
5916
202k
    constexpr bool destructible_constraint =
5917
202k
        std::conjunction_v<std::is_destructible<Args>...>;
5918
202k
    static_assert(destructible_constraint,
5919
202k
                  "Scan argument types must be Destructible");
5920
5921
202k
    constexpr bool non_reference_constraint =
5922
202k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5923
202k
    static_assert(non_reference_constraint,
5924
202k
                  "Scan argument types must not be references");
5925
5926
202k
    constexpr bool movable_constraint =
5927
202k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5928
202k
    static_assert(movable_constraint,
5929
202k
                  "Scan argument types must be move constructible");
5930
5931
202k
    return default_constructible_constraint && destructible_constraint &&
5932
202k
           non_reference_constraint && movable_constraint;
5933
202k
}
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<double>()
5934
5935
enum class scan_arg_store_kind {
5936
    // only built-in types (no custom types), packed
5937
    builtin,
5938
5939
    packed,
5940
    unpacked
5941
};
5942
5943
template <typename Context, typename T>
5944
constexpr basic_scan_arg<Context> make_arg(T& value)
5945
80.1k
{
5946
80.1k
    check_scan_arg_types<T>();
5947
5948
80.1k
    basic_scan_arg<Context> arg;
5949
80.1k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
80.1k
    arg.m_value = make_value<Context>(value);
5951
80.1k
    return arg;
5952
80.1k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
5945
10.5k
{
5946
10.5k
    check_scan_arg_types<T>();
5947
5948
10.5k
    basic_scan_arg<Context> arg;
5949
10.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
10.5k
    arg.m_value = make_value<Context>(value);
5951
10.5k
    return arg;
5952
10.5k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
5945
8.82k
{
5946
8.82k
    check_scan_arg_types<T>();
5947
5948
8.82k
    basic_scan_arg<Context> arg;
5949
8.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
8.82k
    arg.m_value = make_value<Context>(value);
5951
8.82k
    return arg;
5952
8.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5945
12.0k
{
5946
12.0k
    check_scan_arg_types<T>();
5947
5948
12.0k
    basic_scan_arg<Context> arg;
5949
12.0k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
12.0k
    arg.m_value = make_value<Context>(value);
5951
12.0k
    return arg;
5952
12.0k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5945
9.68k
{
5946
9.68k
    check_scan_arg_types<T>();
5947
5948
9.68k
    basic_scan_arg<Context> arg;
5949
9.68k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
9.68k
    arg.m_value = make_value<Context>(value);
5951
9.68k
    return arg;
5952
9.68k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
5945
12.2k
{
5946
12.2k
    check_scan_arg_types<T>();
5947
5948
12.2k
    basic_scan_arg<Context> arg;
5949
12.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
12.2k
    arg.m_value = make_value<Context>(value);
5951
12.2k
    return arg;
5952
12.2k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5945
9.81k
{
5946
9.81k
    check_scan_arg_types<T>();
5947
5948
9.81k
    basic_scan_arg<Context> arg;
5949
9.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
9.81k
    arg.m_value = make_value<Context>(value);
5951
9.81k
    return arg;
5952
9.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
5945
2.82k
{
5946
2.82k
    check_scan_arg_types<T>();
5947
5948
2.82k
    basic_scan_arg<Context> arg;
5949
2.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.82k
    arg.m_value = make_value<Context>(value);
5951
2.82k
    return arg;
5952
2.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5945
2.80k
{
5946
2.80k
    check_scan_arg_types<T>();
5947
5948
2.80k
    basic_scan_arg<Context> arg;
5949
2.80k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.80k
    arg.m_value = make_value<Context>(value);
5951
2.80k
    return arg;
5952
2.80k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5945
2.83k
{
5946
2.83k
    check_scan_arg_types<T>();
5947
5948
2.83k
    basic_scan_arg<Context> arg;
5949
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.83k
    arg.m_value = make_value<Context>(value);
5951
2.83k
    return arg;
5952
2.83k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5945
2.81k
{
5946
2.81k
    check_scan_arg_types<T>();
5947
5948
2.81k
    basic_scan_arg<Context> arg;
5949
2.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.81k
    arg.m_value = make_value<Context>(value);
5951
2.81k
    return arg;
5952
2.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
5945
2.85k
{
5946
2.85k
    check_scan_arg_types<T>();
5947
5948
2.85k
    basic_scan_arg<Context> arg;
5949
2.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.85k
    arg.m_value = make_value<Context>(value);
5951
2.85k
    return arg;
5952
2.85k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5945
2.83k
{
5946
2.83k
    check_scan_arg_types<T>();
5947
5948
2.83k
    basic_scan_arg<Context> arg;
5949
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5950
2.83k
    arg.m_value = make_value<Context>(value);
5951
2.83k
    return arg;
5952
2.83k
}
5953
5954
template <scan_arg_store_kind Kind,
5955
          typename Context,
5956
          arg_type,
5957
          typename T,
5958
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5959
constexpr void* make_arg(T& value)
5960
1.18M
{
5961
1.18M
    return make_value<Context>(value).ref_value;
5962
1.18M
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5960
135k
{
5961
135k
    return make_value<Context>(value).ref_value;
5962
135k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
5960
119k
{
5961
119k
    return make_value<Context>(value).ref_value;
5962
119k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5960
158k
{
5961
158k
    return make_value<Context>(value).ref_value;
5962
158k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5960
129k
{
5961
129k
    return make_value<Context>(value).ref_value;
5962
129k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5960
161k
{
5961
161k
    return make_value<Context>(value).ref_value;
5962
161k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5960
131k
{
5961
131k
    return make_value<Context>(value).ref_value;
5962
131k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5960
58.6k
{
5961
58.6k
    return make_value<Context>(value).ref_value;
5962
58.6k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
5960
58.5k
{
5961
58.5k
    return make_value<Context>(value).ref_value;
5962
58.5k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5960
58.8k
{
5961
58.8k
    return make_value<Context>(value).ref_value;
5962
58.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5960
58.6k
{
5961
58.6k
    return make_value<Context>(value).ref_value;
5962
58.6k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5960
59.0k
{
5961
59.0k
    return make_value<Context>(value).ref_value;
5962
59.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5960
58.8k
{
5961
58.8k
    return make_value<Context>(value).ref_value;
5962
58.8k
}
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)27, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5963
template <scan_arg_store_kind Kind,
5964
          typename Context,
5965
          arg_type,
5966
          typename T,
5967
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5968
constexpr arg_value make_arg(T& value)
5969
{
5970
    return make_value<Context>(value);
5971
}
5972
template <scan_arg_store_kind Kind,
5973
          typename Context,
5974
          arg_type,
5975
          typename T,
5976
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5977
constexpr basic_scan_arg<Context> make_arg(T&& value)
5978
{
5979
    return make_arg<Context>(SCN_FWD(value));
5980
}
5981
5982
template <typename Context>
5983
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5984
template <typename Context>
5985
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5986
5987
template <typename Context>
5988
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5989
template <typename Context>
5990
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5991
5992
template <typename Visitor, typename Context>
5993
constexpr decltype(auto) visit_impl(Visitor&& vis,
5994
                                    basic_scan_arg<Context>& arg);
5995
}  // namespace detail
5996
5997
/**
5998
 * Type-erased scanning argument.
5999
 *
6000
 * Contains a pointer to the value contained in a `scan_arg_store`.
6001
 */
6002
template <typename Context>
6003
class basic_scan_arg {
6004
public:
6005
    /**
6006
     * Enables scanning of a user-defined type.
6007
     *
6008
     * Contains a pointer to the value contained in a `scan_arg_store`, and
6009
     * a callback for parsing the format string, and scanning the value.
6010
     *
6011
     * \see scn::visit_scan_arg
6012
     */
6013
    class handle {
6014
    public:
6015
        /**
6016
         * Parse the format string in `parse_ctx`, and scan the value from
6017
         * `ctx`.
6018
         *
6019
         * \return Any error returned by the scanner
6020
         */
6021
        scan_expected<void> scan(
6022
            typename Context::parse_context_type& parse_ctx,
6023
            Context& ctx) const
6024
0
        {
6025
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
6026
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
6027
6028
    private:
6029
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
6030
6031
        template <typename Visitor, typename C>
6032
        friend constexpr decltype(auto) detail::visit_impl(
6033
            Visitor&& vis,
6034
            basic_scan_arg<C>& arg);
6035
6036
        detail::custom_value_type m_custom;
6037
    };
6038
6039
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
6040
1.26M
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
6040
899k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
6040
369k
    constexpr basic_scan_arg() = default;
6041
6042
    /**
6043
     * @return `true` if `*this` contains an argument
6044
     */
6045
    constexpr explicit operator bool() const noexcept
6046
2.14M
    {
6047
2.14M
        return m_type != detail::arg_type::none_type;
6048
2.14M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
6046
1.56M
    {
6047
1.56M
        return m_type != detail::arg_type::none_type;
6048
1.56M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
6046
588k
    {
6047
588k
        return m_type != detail::arg_type::none_type;
6048
588k
    }
6049
6050
    /**
6051
     * Visit a `basic_scan_arg` with `Visitor`.
6052
     * Calls `vis` with the value stored in `*this`.
6053
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
6054
     *
6055
     * \return `vis(x)`, where `x` is either a reference to the value contained
6056
     * in `*this`, or a `basic_scan_arg::handle`.
6057
     */
6058
    template <typename Visitor>
6059
    constexpr decltype(auto) visit(Visitor&& vis);
6060
6061
    template <typename R, typename Visitor>
6062
    constexpr R visit(Visitor&& vis);
6063
6064
private:
6065
    template <typename ContextType, typename T>
6066
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
6067
6068
    template <typename C>
6069
    friend constexpr detail::arg_type& detail::get_arg_type(
6070
        basic_scan_arg<C>& arg);
6071
    template <typename C>
6072
    friend constexpr detail::arg_type detail::get_arg_type(
6073
        const basic_scan_arg<C>& arg);
6074
6075
    template <typename C>
6076
    friend constexpr detail::arg_value& detail::get_arg_value(
6077
        basic_scan_arg<C>& arg);
6078
    template <typename C>
6079
    friend constexpr detail::arg_value detail::get_arg_value(
6080
        const basic_scan_arg<C>& arg);
6081
6082
    friend class basic_scan_args<Context>;
6083
6084
    detail::arg_value m_value{};
6085
    detail::arg_type m_type{detail::arg_type::none_type};
6086
};
6087
6088
namespace detail {
6089
template <typename Context>
6090
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6091
3.17M
{
6092
3.17M
    return arg.m_type;
6093
3.17M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6091
2.27M
{
6092
2.27M
    return arg.m_type;
6093
2.27M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6091
907k
{
6092
907k
    return arg.m_type;
6093
907k
}
6094
6095
template <typename Context>
6096
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6097
{
6098
    return arg.m_type;
6099
}
6100
6101
template <typename Context>
6102
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6103
1.12M
{
6104
1.12M
    return arg.m_value;
6105
1.12M
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6103
850k
{
6104
850k
    return arg.m_value;
6105
850k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6103
270k
{
6104
270k
    return arg.m_value;
6105
270k
}
6106
6107
template <typename Context>
6108
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6109
{
6110
    return arg.m_value;
6111
}
6112
6113
template <typename CharT>
6114
constexpr bool all_types_builtin()
6115
0
{
6116
0
    return true;
6117
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6118
template <typename CharT, typename T, typename... Args>
6119
constexpr bool all_types_builtin()
6120
0
{
6121
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6122
0
           all_types_builtin<CharT, Args...>();
6123
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
6124
6125
template <typename CharT, typename... Args>
6126
constexpr scan_arg_store_kind determine_arg_store_kind()
6127
0
{
6128
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6129
0
        return scan_arg_store_kind::unpacked;
6130
0
    }
6131
0
#if !(SCN_CLANG && SCN_APPLE)
6132
0
    // This doesn't work on Apple Clang. I don't know why
6133
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6134
0
        return scan_arg_store_kind::builtin;
6135
0
    }
6136
0
#endif
6137
0
    return scan_arg_store_kind::packed;
6138
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6139
6140
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6141
constexpr size_t compute_arg_store_desc()
6142
0
{
6143
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6144
0
        return encode_types<CharT, Args...>();
6145
0
    }
6146
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6147
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6148
0
    }
6149
0
    else {
6150
0
        return sizeof...(Args) | is_unpacked_bit;
6151
0
    }
6152
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6153
6154
template <typename Context, typename... Args>
6155
class scan_arg_store {
6156
public:
6157
    static constexpr scan_arg_store_kind kind =
6158
        determine_arg_store_kind<typename Context::char_type, Args...>();
6159
    static constexpr size_t desc =
6160
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6161
6162
    using argptr_type = std::conditional_t<
6163
        kind == scan_arg_store_kind::builtin,
6164
        void*,
6165
        std::conditional_t<kind == scan_arg_store_kind::packed,
6166
                           arg_value,
6167
                           basic_scan_arg<Context>>>;
6168
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6169
6170
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6171
1.18M
        : args(std::apply(make_argptrs<Args...>, args))
6172
1.18M
    {
6173
1.18M
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6171
135k
        : args(std::apply(make_argptrs<Args...>, args))
6172
135k
    {
6173
135k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6171
119k
        : args(std::apply(make_argptrs<Args...>, args))
6172
119k
    {
6173
119k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6171
158k
        : args(std::apply(make_argptrs<Args...>, args))
6172
158k
    {
6173
158k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6171
129k
        : args(std::apply(make_argptrs<Args...>, args))
6172
129k
    {
6173
129k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6171
161k
        : args(std::apply(make_argptrs<Args...>, args))
6172
161k
    {
6173
161k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6171
131k
        : args(std::apply(make_argptrs<Args...>, args))
6172
131k
    {
6173
131k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6171
58.6k
        : args(std::apply(make_argptrs<Args...>, args))
6172
58.6k
    {
6173
58.6k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6171
58.5k
        : args(std::apply(make_argptrs<Args...>, args))
6172
58.5k
    {
6173
58.5k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6171
58.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
58.8k
    {
6173
58.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6171
58.6k
        : args(std::apply(make_argptrs<Args...>, args))
6172
58.6k
    {
6173
58.6k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6171
59.0k
        : args(std::apply(make_argptrs<Args...>, args))
6172
59.0k
    {
6173
59.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6171
58.8k
        : args(std::apply(make_argptrs<Args...>, args))
6172
58.8k
    {
6173
58.8k
    }
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6174
6175
    argptrs_type args;
6176
6177
private:
6178
    template <typename... A>
6179
    static constexpr argptrs_type make_argptrs(A&... args)
6180
1.18M
    {
6181
1.18M
        return {detail::make_arg<
6182
1.18M
            kind, Context,
6183
1.18M
            mapped_type_constant<remove_cvref_t<A>,
6184
1.18M
                                 typename Context::char_type>::value>(args)...};
6185
1.18M
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6180
135k
    {
6181
135k
        return {detail::make_arg<
6182
135k
            kind, Context,
6183
135k
            mapped_type_constant<remove_cvref_t<A>,
6184
135k
                                 typename Context::char_type>::value>(args)...};
6185
135k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6180
119k
    {
6181
119k
        return {detail::make_arg<
6182
119k
            kind, Context,
6183
119k
            mapped_type_constant<remove_cvref_t<A>,
6184
119k
                                 typename Context::char_type>::value>(args)...};
6185
119k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6180
158k
    {
6181
158k
        return {detail::make_arg<
6182
158k
            kind, Context,
6183
158k
            mapped_type_constant<remove_cvref_t<A>,
6184
158k
                                 typename Context::char_type>::value>(args)...};
6185
158k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6180
129k
    {
6181
129k
        return {detail::make_arg<
6182
129k
            kind, Context,
6183
129k
            mapped_type_constant<remove_cvref_t<A>,
6184
129k
                                 typename Context::char_type>::value>(args)...};
6185
129k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6180
161k
    {
6181
161k
        return {detail::make_arg<
6182
161k
            kind, Context,
6183
161k
            mapped_type_constant<remove_cvref_t<A>,
6184
161k
                                 typename Context::char_type>::value>(args)...};
6185
161k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6180
131k
    {
6181
131k
        return {detail::make_arg<
6182
131k
            kind, Context,
6183
131k
            mapped_type_constant<remove_cvref_t<A>,
6184
131k
                                 typename Context::char_type>::value>(args)...};
6185
131k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6180
58.6k
    {
6181
58.6k
        return {detail::make_arg<
6182
58.6k
            kind, Context,
6183
58.6k
            mapped_type_constant<remove_cvref_t<A>,
6184
58.6k
                                 typename Context::char_type>::value>(args)...};
6185
58.6k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6180
58.5k
    {
6181
58.5k
        return {detail::make_arg<
6182
58.5k
            kind, Context,
6183
58.5k
            mapped_type_constant<remove_cvref_t<A>,
6184
58.5k
                                 typename Context::char_type>::value>(args)...};
6185
58.5k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6180
58.8k
    {
6181
58.8k
        return {detail::make_arg<
6182
58.8k
            kind, Context,
6183
58.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
58.8k
                                 typename Context::char_type>::value>(args)...};
6185
58.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6180
58.6k
    {
6181
58.6k
        return {detail::make_arg<
6182
58.6k
            kind, Context,
6183
58.6k
            mapped_type_constant<remove_cvref_t<A>,
6184
58.6k
                                 typename Context::char_type>::value>(args)...};
6185
58.6k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6180
59.0k
    {
6181
59.0k
        return {detail::make_arg<
6182
59.0k
            kind, Context,
6183
59.0k
            mapped_type_constant<remove_cvref_t<A>,
6184
59.0k
                                 typename Context::char_type>::value>(args)...};
6185
59.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6180
58.8k
    {
6181
58.8k
        return {detail::make_arg<
6182
58.8k
            kind, Context,
6183
58.8k
            mapped_type_constant<remove_cvref_t<A>,
6184
58.8k
                                 typename Context::char_type>::value>(args)...};
6185
58.8k
    }
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6186
};
6187
6188
}  // namespace detail
6189
6190
/**
6191
 * Creates a type-erased argument store over the arguments in `values`.
6192
 */
6193
template <typename Context = scan_context, typename... Args>
6194
constexpr auto make_scan_args(std::tuple<Args...>& values)
6195
1.18M
{
6196
1.18M
    detail::check_scan_arg_types<Args...>();
6197
1.18M
    return detail::scan_arg_store<Context, Args...>(values);
6198
1.18M
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6195
135k
{
6196
135k
    detail::check_scan_arg_types<Args...>();
6197
135k
    return detail::scan_arg_store<Context, Args...>(values);
6198
135k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6195
119k
{
6196
119k
    detail::check_scan_arg_types<Args...>();
6197
119k
    return detail::scan_arg_store<Context, Args...>(values);
6198
119k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6195
158k
{
6196
158k
    detail::check_scan_arg_types<Args...>();
6197
158k
    return detail::scan_arg_store<Context, Args...>(values);
6198
158k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6195
129k
{
6196
129k
    detail::check_scan_arg_types<Args...>();
6197
129k
    return detail::scan_arg_store<Context, Args...>(values);
6198
129k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6195
161k
{
6196
161k
    detail::check_scan_arg_types<Args...>();
6197
161k
    return detail::scan_arg_store<Context, Args...>(values);
6198
161k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6195
131k
{
6196
131k
    detail::check_scan_arg_types<Args...>();
6197
131k
    return detail::scan_arg_store<Context, Args...>(values);
6198
131k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6195
58.6k
{
6196
58.6k
    detail::check_scan_arg_types<Args...>();
6197
58.6k
    return detail::scan_arg_store<Context, Args...>(values);
6198
58.6k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6195
58.5k
{
6196
58.5k
    detail::check_scan_arg_types<Args...>();
6197
58.5k
    return detail::scan_arg_store<Context, Args...>(values);
6198
58.5k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6195
58.8k
{
6196
58.8k
    detail::check_scan_arg_types<Args...>();
6197
58.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
58.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6195
58.6k
{
6196
58.6k
    detail::check_scan_arg_types<Args...>();
6197
58.6k
    return detail::scan_arg_store<Context, Args...>(values);
6198
58.6k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6195
59.0k
{
6196
59.0k
    detail::check_scan_arg_types<Args...>();
6197
59.0k
    return detail::scan_arg_store<Context, Args...>(values);
6198
59.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6195
58.8k
{
6196
58.8k
    detail::check_scan_arg_types<Args...>();
6197
58.8k
    return detail::scan_arg_store<Context, Args...>(values);
6198
58.8k
}
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6199
6200
template <typename... Args>
6201
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6202
{
6203
    detail::check_scan_arg_types<Args...>();
6204
    return detail::scan_arg_store<wscan_context, Args...>(values);
6205
}
6206
6207
/**
6208
 * A view over a collection of scanning arguments (`scan_arg_store`).
6209
 *
6210
 * Passed to `scn::vscan`, where it's automatically constructed from a
6211
 * `scan_arg_store`.
6212
 */
6213
template <typename Context>
6214
class basic_scan_args {
6215
public:
6216
80.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Line
Count
Source
6216
63.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
Line
Count
Source
6216
16.9k
    constexpr basic_scan_args() = default;
6217
6218
    template <typename... Args>
6219
    SCN_IMPLICIT constexpr basic_scan_args(
6220
        const detail::scan_arg_store<Context, Args...>& store)
6221
1.18M
        : basic_scan_args(store.desc, store.args.data())
6222
1.18M
    {
6223
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char> const&)
Line
Count
Source
6221
135k
        : basic_scan_args(store.desc, store.args.data())
6222
135k
    {
6223
135k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char> const&)
Line
Count
Source
6221
119k
        : basic_scan_args(store.desc, store.args.data())
6222
119k
    {
6223
119k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6221
158k
        : basic_scan_args(store.desc, store.args.data())
6222
158k
    {
6223
158k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6221
129k
        : basic_scan_args(store.desc, store.args.data())
6222
129k
    {
6223
129k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long> const&)
Line
Count
Source
6221
161k
        : basic_scan_args(store.desc, store.args.data())
6222
161k
    {
6223
161k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long> const&)
Line
Count
Source
6221
131k
        : basic_scan_args(store.desc, store.args.data())
6222
131k
    {
6223
131k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char> const&)
Line
Count
Source
6221
58.6k
        : basic_scan_args(store.desc, store.args.data())
6222
58.6k
    {
6223
58.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char> const&)
Line
Count
Source
6221
58.5k
        : basic_scan_args(store.desc, store.args.data())
6222
58.5k
    {
6223
58.5k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6221
58.8k
        : basic_scan_args(store.desc, store.args.data())
6222
58.8k
    {
6223
58.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6221
58.6k
        : basic_scan_args(store.desc, store.args.data())
6222
58.6k
    {
6223
58.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long> const&)
Line
Count
Source
6221
59.0k
        : basic_scan_args(store.desc, store.args.data())
6222
59.0k
    {
6223
59.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long> const&)
Line
Count
Source
6221
58.8k
        : basic_scan_args(store.desc, store.args.data())
6222
58.8k
    {
6223
58.8k
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
6224
6225
    /**
6226
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6227
     * there's no argument at index `id`.
6228
     */
6229
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6230
1.18M
    {
6231
1.18M
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
1.18M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
1.18M
        const auto t = type(id);
6243
1.18M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
1.18M
        basic_scan_arg<Context> arg;
6248
1.18M
        arg.m_type = t;
6249
1.18M
        if (is_only_builtin()) {
6250
1.18M
            arg.m_value.ref_value = m_builtin_values[id];
6251
1.18M
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
1.18M
        return arg;
6256
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6230
836k
    {
6231
836k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
836k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
836k
        const auto t = type(id);
6243
836k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
836k
        basic_scan_arg<Context> arg;
6248
836k
        arg.m_type = t;
6249
836k
        if (is_only_builtin()) {
6250
836k
            arg.m_value.ref_value = m_builtin_values[id];
6251
836k
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
836k
        return arg;
6256
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6230
352k
    {
6231
352k
        if (SCN_UNLIKELY(!is_packed())) {
6232
0
            if (SCN_LIKELY(id < max_size())) {
6233
0
                return m_args[id];
6234
0
            }
6235
0
            return {};
6236
0
        }
6237
6238
352k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6239
0
            return {};
6240
0
        }
6241
6242
352k
        const auto t = type(id);
6243
352k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6244
0
            return {};
6245
0
        }
6246
6247
352k
        basic_scan_arg<Context> arg;
6248
352k
        arg.m_type = t;
6249
352k
        if (is_only_builtin()) {
6250
352k
            arg.m_value.ref_value = m_builtin_values[id];
6251
352k
        }
6252
0
        else {
6253
0
            arg.m_value = m_values[id];
6254
0
        }
6255
352k
        return arg;
6256
352k
    }
6257
6258
    /**
6259
     * \return Number of arguments in `*this`.
6260
     */
6261
    SCN_NODISCARD constexpr std::size_t size() const
6262
1.18M
    {
6263
1.18M
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
1.18M
        return static_cast<std::size_t>(m_desc &
6268
1.18M
                                        ((1 << detail::packed_arg_bits) - 1));
6269
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6262
836k
    {
6263
836k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
836k
        return static_cast<std::size_t>(m_desc &
6268
836k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6262
352k
    {
6263
352k
        if (SCN_UNLIKELY(!is_packed())) {
6264
0
            return max_size();
6265
0
        }
6266
6267
352k
        return static_cast<std::size_t>(m_desc &
6268
352k
                                        ((1 << detail::packed_arg_bits) - 1));
6269
352k
    }
6270
6271
private:
6272
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6273
1.18M
        : m_desc(desc), m_builtin_values(data)
6274
1.18M
    {
6275
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6273
836k
        : m_desc(desc), m_builtin_values(data)
6274
836k
    {
6275
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6273
352k
        : m_desc(desc), m_builtin_values(data)
6274
352k
    {
6275
352k
    }
6276
    constexpr explicit basic_scan_args(size_t desc,
6277
                                       const detail::arg_value* data)
6278
        : m_desc(desc), m_values(data)
6279
    {
6280
    }
6281
    constexpr explicit basic_scan_args(size_t desc,
6282
                                       const basic_scan_arg<Context>* data)
6283
        : m_desc(desc), m_args(data)
6284
    {
6285
    }
6286
6287
    SCN_NODISCARD constexpr bool is_packed() const
6288
2.37M
    {
6289
2.37M
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
2.37M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6288
1.67M
    {
6289
1.67M
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
1.67M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6288
704k
    {
6289
704k
        return (m_desc & detail::is_unpacked_bit) == 0;
6290
704k
    }
6291
    SCN_NODISCARD constexpr bool is_only_builtin() const
6292
1.18M
    {
6293
1.18M
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6292
836k
    {
6293
836k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6292
352k
    {
6293
352k
        return (m_desc & detail::has_custom_types_bit) == 0;
6294
352k
    }
6295
6296
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6297
1.18M
    {
6298
        // First (0th) index is size, types start after that
6299
1.18M
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
1.18M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
1.18M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6297
836k
    {
6298
        // First (0th) index is size, types start after that
6299
836k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
836k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
836k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6297
352k
    {
6298
        // First (0th) index is size, types start after that
6299
352k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6300
352k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6301
352k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6302
352k
    }
6303
6304
    SCN_NODISCARD constexpr std::size_t max_size() const
6305
0
    {
6306
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6307
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6308
0
                                          ~detail::has_custom_types_bit);
6309
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6310
6311
    size_t m_desc{0};
6312
    union {
6313
        void* const* m_builtin_values;
6314
        const detail::arg_value* m_values;
6315
        const basic_scan_arg<Context>* m_args{nullptr};
6316
    };
6317
};
6318
6319
/////////////////////////////////////////////////////////////////
6320
// scan_parse_context
6321
/////////////////////////////////////////////////////////////////
6322
6323
template <typename T>
6324
struct source_tag_type {
6325
    using type = T;
6326
};
6327
template <typename T>
6328
inline constexpr auto source_tag = source_tag_type<T>{};
6329
6330
/**
6331
 * Format string parsing context, wrapping the format string being parsed,
6332
 * and a counter for argument indexing.
6333
 *
6334
 * \ingroup ctx
6335
 */
6336
template <typename CharT>
6337
class basic_scan_parse_context {
6338
public:
6339
    using char_type = CharT;
6340
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6341
    using const_iterator = iterator;
6342
6343
    /**
6344
     * Construct a `basic_scan_parse_context` over a format string `format`.
6345
     */
6346
    [[deprecated(
6347
        "Use the source_tag constructor instead,"
6348
        "to get more compile-time checking")]]
6349
    explicit constexpr basic_scan_parse_context(
6350
        std::basic_string_view<CharT> format,
6351
        int next_arg_id = 0)
6352
        : m_format{format}, m_next_arg_id{next_arg_id}
6353
    {
6354
    }
6355
6356
    template <typename Source>
6357
    explicit constexpr basic_scan_parse_context(
6358
        source_tag_type<Source>,
6359
        std::basic_string_view<CharT> format,
6360
        int next_arg_id = 0)
6361
1.02M
        : m_format{format},
6362
1.02M
          m_next_arg_id{next_arg_id},
6363
1.02M
          m_is_contiguous(ranges::range<Source> &&
6364
1.02M
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
1.02M
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
1.02M
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
1.02M
    {
6369
1.02M
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
354k
        : m_format{format},
6362
354k
          m_next_arg_id{next_arg_id},
6363
354k
          m_is_contiguous(ranges::range<Source> &&
6364
354k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
354k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
354k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
354k
    {
6369
354k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6361
355k
        : m_format{format},
6362
355k
          m_next_arg_id{next_arg_id},
6363
355k
          m_is_contiguous(ranges::range<Source> &&
6364
355k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
355k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
355k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
355k
    {
6369
355k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
159k
        : m_format{format},
6362
159k
          m_next_arg_id{next_arg_id},
6363
159k
          m_is_contiguous(ranges::range<Source> &&
6364
159k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
159k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
159k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
159k
    {
6369
159k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6361
159k
        : m_format{format},
6362
159k
          m_next_arg_id{next_arg_id},
6363
159k
          m_is_contiguous(ranges::range<Source> &&
6364
159k
                          ranges::contiguous_range<Source>),
6365
          m_is_borrowed(
6366
159k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6367
159k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6368
159k
    {
6369
159k
    }
6370
6371
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6372
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6373
        delete;
6374
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6375
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6376
    ~basic_scan_parse_context() = default;
6377
6378
    /// Returns an iterator pointing to the beginning of the format string
6379
    constexpr auto begin() const noexcept
6380
1.90M
    {
6381
1.90M
        return m_format.data();
6382
1.90M
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6380
1.37M
    {
6381
1.37M
        return m_format.data();
6382
1.37M
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6380
538k
    {
6381
538k
        return m_format.data();
6382
538k
    }
6383
    /// Returns an iterator pointing to the end of the format string
6384
    constexpr auto end() const noexcept
6385
    {
6386
        return m_format.data() + m_format.size();
6387
    }
6388
6389
    /// Advance the beginning of the format string to `it`
6390
    constexpr void advance_to(iterator it)
6391
880k
    {
6392
880k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
880k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6391
660k
    {
6392
660k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
660k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6391
219k
    {
6392
219k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6393
219k
    }
6394
6395
    constexpr size_t next_arg_id()
6396
1.02M
    {
6397
1.02M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
1.02M
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
1.02M
        do_check_arg_id(id);
6405
1.02M
        return id;
6406
1.02M
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6396
710k
    {
6397
710k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
710k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
710k
        do_check_arg_id(id);
6405
710k
        return id;
6406
710k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6396
318k
    {
6397
318k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6398
0
            on_error(
6399
0
                "Cannot switch from manual to automatic argument indexing");
6400
0
            return 0;
6401
0
        }
6402
6403
318k
        auto id = static_cast<size_t>(m_next_arg_id++);
6404
318k
        do_check_arg_id(id);
6405
318k
        return id;
6406
318k
    }
6407
6408
    constexpr void check_arg_id(std::size_t id)
6409
0
    {
6410
0
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6411
0
            on_error(
6412
0
                "Cannot switch from manual to automatic argument indexing");
6413
0
            return;
6414
0
        }
6415
0
        m_next_arg_id = -1;
6416
0
        do_check_arg_id(id);
6417
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
6418
6419
    /**
6420
     * Fail format string parsing with the message `msg`.
6421
     * Calling this member function is not a constant expression,
6422
     * causing a compile-time error, if compile-time format string checking is
6423
     * enabled.
6424
     */
6425
    scan_error on_error(const char* msg)
6426
0
    {
6427
0
        m_error = unexpected(detail::handle_error(
6428
0
            scan_error{scan_error::invalid_format_string, msg}));
6429
0
        return m_error.error();
6430
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
6431
6432
    scan_expected<void> get_error()
6433
    {
6434
        return m_error;
6435
    }
6436
6437
    [[nodiscard]] constexpr bool is_source_contiguous() const
6438
    {
6439
        return m_is_contiguous;
6440
    }
6441
6442
    [[nodiscard]] constexpr bool is_source_borrowed() const
6443
    {
6444
        return m_is_borrowed;
6445
    }
6446
6447
protected:
6448
    constexpr void do_check_arg_id(size_t id);
6449
6450
    std::basic_string_view<CharT> m_format;
6451
    scan_expected<void> m_error{};
6452
    int m_next_arg_id{0};
6453
    bool m_is_contiguous{false}, m_is_borrowed{false};
6454
};
6455
6456
/////////////////////////////////////////////////////////////////
6457
// Result types
6458
/////////////////////////////////////////////////////////////////
6459
6460
namespace detail {
6461
template <typename... Args>
6462
struct scan_result_value_storage {
6463
public:
6464
    using tuple_type = std::tuple<Args...>;
6465
6466
1.26M
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<signed char>::scan_result_value_storage()
Line
Count
Source
6466
207k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage()
Line
Count
Source
6466
189k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6466
232k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6466
200k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<long long>::scan_result_value_storage()
Line
Count
Source
6466
235k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage()
Line
Count
Source
6466
202k
    constexpr scan_result_value_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
6467
6468
    constexpr scan_result_value_storage(tuple_type&& values)
6469
        : m_values(SCN_MOVE(values))
6470
    {
6471
    }
6472
6473
    /// Access the scanned values
6474
    tuple_type& values() &
6475
1.18M
    {
6476
1.18M
        return m_values;
6477
1.18M
    }
scn::v4::detail::scan_result_value_storage<signed char>::values() &
Line
Count
Source
6475
194k
    {
6476
194k
        return m_values;
6477
194k
    }
scn::v4::detail::scan_result_value_storage<unsigned char>::values() &
Line
Count
Source
6475
178k
    {
6476
178k
        return m_values;
6477
178k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6475
217k
    {
6476
217k
        return m_values;
6477
217k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6475
188k
    {
6476
188k
        return m_values;
6477
188k
    }
scn::v4::detail::scan_result_value_storage<long long>::values() &
Line
Count
Source
6475
220k
    {
6476
220k
        return m_values;
6477
220k
    }
scn::v4::detail::scan_result_value_storage<unsigned long long>::values() &
Line
Count
Source
6475
189k
    {
6476
189k
        return m_values;
6477
189k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::values() &
6478
    /// Access the scanned values
6479
    const tuple_type& values() const&
6480
    {
6481
        return m_values;
6482
    }
6483
    /// Access the scanned values
6484
    tuple_type&& values() &&
6485
    {
6486
        return SCN_MOVE(m_values);
6487
    }
6488
    /// Access the scanned values
6489
    const tuple_type&& values() const&&
6490
    {
6491
        return SCN_MOVE(m_values);
6492
    }
6493
6494
    /// Access the single scanned value
6495
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6496
    decltype(auto) value() &
6497
80.1k
    {
6498
80.1k
        return std::get<0>(m_values);
6499
80.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJaEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
13.4k
    {
6498
13.4k
        return std::get<0>(m_values);
6499
13.4k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJhEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
11.6k
    {
6498
11.6k
        return std::get<0>(m_values);
6499
11.6k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJiEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
14.8k
    {
6498
14.8k
        return std::get<0>(m_values);
6499
14.8k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJjEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
12.5k
    {
6498
12.5k
        return std::get<0>(m_values);
6499
12.5k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJxEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
15.1k
    {
6498
15.1k
        return std::get<0>(m_values);
6499
15.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJyEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6497
12.6k
    {
6498
12.6k
        return std::get<0>(m_values);
6499
12.6k
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6500
    /// Access the single scanned value
6501
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6502
    decltype(auto) value() const&
6503
    {
6504
        return std::get<0>(m_values);
6505
    }
6506
    /// Access the single scanned value
6507
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6508
    decltype(auto) value() &&
6509
    {
6510
        return SCN_MOVE(std::get<0>(m_values));
6511
    }
6512
    /// Access the single scanned value
6513
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6514
    decltype(auto) value() const&&
6515
    {
6516
        return SCN_MOVE(std::get<0>(m_values));
6517
    }
6518
6519
private:
6520
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6521
};
6522
6523
struct scan_result_convert_tag {};
6524
6525
template <typename Range>
6526
struct scan_result_range_storage {
6527
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6528
                  "scan_result<Range> accepts only subranges as Ranges");
6529
6530
public:
6531
    using range_type = Range;
6532
    using iterator = ranges::iterator_t<Range>;
6533
    using sentinel = ranges::sentinel_t<Range>;
6534
6535
1.26M
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6535
450k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage()
Line
Count
Source
6535
449k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6535
184k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage()
Line
Count
Source
6535
184k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6536
6537
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6538
    {
6539
    }
6540
6541
    template <typename R>
6542
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6543
        : m_range(SCN_MOVE(r))
6544
    {
6545
    }
6546
6547
    /// Access the ununsed source range
6548
    range_type range() const
6549
    {
6550
        return m_range;
6551
    }
6552
6553
    /// The beginning of the unused source range
6554
    auto begin() const
6555
749k
    {
6556
749k
        return ranges::begin(m_range);
6557
749k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
6555
363k
    {
6556
363k
        return ranges::begin(m_range);
6557
363k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
6555
362k
    {
6556
362k
        return ranges::begin(m_range);
6557
362k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
6555
11.3k
    {
6556
11.3k
        return ranges::begin(m_range);
6557
11.3k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
6555
11.3k
    {
6556
11.3k
        return ranges::begin(m_range);
6557
11.3k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6558
    /// The end of the unused source range
6559
    auto end() const
6560
0
    {
6561
0
        return ranges::end(m_range);
6562
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6563
6564
    template <typename Other>
6565
    void set_range(Other&& r)
6566
749k
    {
6567
749k
        m_range = std::forward<Other>(r);
6568
749k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6566
363k
    {
6567
363k
        m_range = std::forward<Other>(r);
6568
363k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
6566
362k
    {
6567
362k
        m_range = std::forward<Other>(r);
6568
362k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6566
11.3k
    {
6567
11.3k
        m_range = std::forward<Other>(r);
6568
11.3k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
6566
11.3k
    {
6567
11.3k
        m_range = std::forward<Other>(r);
6568
11.3k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6569
6570
protected:
6571
    template <typename Other>
6572
    void assign_range(Other&& r)
6573
    {
6574
        m_range = r.m_range;
6575
    }
6576
6577
private:
6578
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6579
};
6580
6581
struct scan_result_file_storage {
6582
public:
6583
    using range_type = std::FILE*;
6584
6585
    constexpr scan_result_file_storage() = default;
6586
6587
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6588
6589
    /// File used for scanning
6590
    std::FILE* file() const
6591
0
    {
6592
0
        return m_file;
6593
0
    }
6594
6595
    void set_range(std::FILE* f)
6596
0
    {
6597
0
        m_file = f;
6598
0
    }
6599
6600
protected:
6601
    void assign_range(const scan_result_file_storage& f)
6602
0
    {
6603
0
        m_file = f.m_file;
6604
0
    }
6605
6606
private:
6607
    std::FILE* m_file{nullptr};
6608
};
6609
6610
struct scan_result_dangling {
6611
    using range_type = ranges::dangling;
6612
6613
    constexpr scan_result_dangling() = default;
6614
6615
    template <typename... Args>
6616
    explicit constexpr scan_result_dangling(Args&&...)
6617
    {
6618
    }
6619
6620
    range_type range() const
6621
0
    {
6622
0
        return {};
6623
0
    }
6624
6625
    ranges::dangling begin() const
6626
0
    {
6627
0
        return {};
6628
0
    }
6629
    ranges::dangling end() const
6630
0
    {
6631
0
        return {};
6632
0
    }
6633
6634
    template <typename... Args>
6635
    void set_range(Args&&...)
6636
    {
6637
    }
6638
6639
protected:
6640
    template <typename... Args>
6641
    void assign_range(Args&&...)
6642
    {
6643
    }
6644
};
6645
6646
template <typename Range>
6647
constexpr auto get_scan_result_base()
6648
0
{
6649
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6650
0
        return type_identity<scan_result_dangling>{};
6651
0
    }
6652
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6653
0
        return type_identity<scan_result_file_storage>{};
6654
0
    }
6655
0
    else {
6656
0
        return type_identity<scan_result_range_storage<Range>>{};
6657
0
    }
6658
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6659
6660
#if !SCN_DOXYGEN
6661
template <typename Range>
6662
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6663
#else
6664
template <typename Range>
6665
using scan_result_base = scan_result_range_storage<Range>;
6666
#endif
6667
}  // namespace detail
6668
6669
/**
6670
 * \defgroup result Result types
6671
 *
6672
 * \brief Result and error types
6673
 *
6674
 * Instead of using exceptions, `scn::scan` and others return an object of
6675
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6676
 */
6677
6678
/**
6679
 * Type returned by `scan`, contains the unused input as a subrange, and the
6680
 * scanned values in a tuple.
6681
 */
6682
template <typename Range, typename... Args>
6683
class scan_result : public detail::scan_result_base<Range>,
6684
                    public detail::scan_result_value_storage<Args...> {
6685
    using range_base = detail::scan_result_base<Range>;
6686
    using value_base = detail::scan_result_value_storage<Args...>;
6687
6688
public:
6689
    using range_type = typename range_base::range_type;
6690
    using tuple_type = typename value_base::tuple_type;
6691
6692
1.26M
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result()
Line
Count
Source
6692
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result()
Line
Count
Source
6692
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6692
85.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6692
69.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result()
Line
Count
Source
6692
87.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result()
Line
Count
Source
6692
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result()
Line
Count
Source
6692
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result()
Line
Count
Source
6692
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result()
Line
Count
Source
6692
85.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result()
Line
Count
Source
6692
69.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result()
Line
Count
Source
6692
86.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result()
Line
Count
Source
6692
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result()
Line
Count
Source
6692
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result()
Line
Count
Source
6692
30.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6692
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6692
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result()
Line
Count
Source
6692
30.9k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result()
Line
Count
Source
6692
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result()
Line
Count
Source
6692
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result()
Line
Count
Source
6692
30.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result()
Line
Count
Source
6692
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result()
Line
Count
Source
6692
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result()
Line
Count
Source
6692
30.9k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result()
Line
Count
Source
6692
30.8k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6693
6694
    constexpr scan_result(const scan_result&) = default;
6695
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6696
    constexpr scan_result& operator=(const scan_result&) = default;
6697
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6698
6699
0
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6700
6701
    scan_result(range_type r, tuple_type&& values)
6702
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6703
    {
6704
    }
6705
6706
    template <typename OtherR,
6707
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6708
                  nullptr>
6709
    scan_result(OtherR&& r, tuple_type&& values)
6710
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6711
          value_base(SCN_MOVE(values))
6712
    {
6713
    }
6714
6715
    template <typename OtherR,
6716
              std::enable_if_t<
6717
                  std::is_constructible_v<range_type, OtherR> &&
6718
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6719
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6720
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6721
          value_base(o.values())
6722
    {
6723
    }
6724
    template <typename OtherR,
6725
              std::enable_if_t<
6726
                  std::is_constructible_v<range_type, OtherR> &&
6727
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6728
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6729
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6730
          value_base(o.values())
6731
    {
6732
    }
6733
6734
    template <typename OtherR,
6735
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6736
                               std::is_convertible_v<OtherR&&, range_type>>* =
6737
                  nullptr>
6738
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6739
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6740
          value_base(SCN_MOVE(o.values()))
6741
    {
6742
    }
6743
    template <typename OtherR,
6744
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6745
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6746
                  nullptr>
6747
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6748
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6749
          value_base(SCN_MOVE(o.values()))
6750
    {
6751
    }
6752
6753
    template <typename OtherR,
6754
              typename =
6755
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6756
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6757
    {
6758
        this->assign_range(o);
6759
        this->values() = o.values();
6760
        return *this;
6761
    }
6762
6763
    template <typename OtherR,
6764
              typename =
6765
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6766
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6767
    {
6768
        this->assign_range(o);
6769
        this->values() = SCN_MOVE(o.values());
6770
        return *this;
6771
    }
6772
};
6773
6774
template <typename R, typename... Args>
6775
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6776
template <typename R, typename Ctx, typename... Args>
6777
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6778
    -> scan_result<R, Args...>;
6779
6780
namespace detail {
6781
template <typename SourceRange>
6782
auto make_vscan_result_range_end(SourceRange& source)
6783
749k
{
6784
749k
    return ranges::end(source);
6785
749k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
6783
363k
{
6784
363k
    return ranges::end(source);
6785
363k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
6783
362k
{
6784
362k
    return ranges::end(source);
6785
362k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
6783
11.3k
{
6784
11.3k
    return ranges::end(source);
6785
11.3k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
6783
11.3k
{
6784
11.3k
    return ranges::end(source);
6785
11.3k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
6786
template <typename CharT, size_t N>
6787
auto make_vscan_result_range_end(CharT (&source)[N])
6788
    -> ranges::sentinel_t<CharT (&)[N]>
6789
{
6790
    return source + N - 1;
6791
}
6792
6793
template <typename SourceRange>
6794
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6795
    -> borrowed_tail_subrange_t<SourceRange>
6796
749k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
749k
                      ranges::iterator_t<SourceRange>>) {
6799
749k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
0
    else {
6802
0
        auto it = ranges::begin(source);
6803
0
        while (n > 0) {
6804
0
            --n;
6805
0
            ++it;
6806
0
        }
6807
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
0
    }
6809
749k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6796
363k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
363k
                      ranges::iterator_t<SourceRange>>) {
6799
363k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
363k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6796
362k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
362k
                      ranges::iterator_t<SourceRange>>) {
6799
362k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
362k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6796
11.3k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
11.3k
                      ranges::iterator_t<SourceRange>>) {
6799
11.3k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
11.3k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6796
11.3k
{
6797
    if constexpr (ranges::random_access_iterator<
6798
11.3k
                      ranges::iterator_t<SourceRange>>) {
6799
11.3k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6800
    }
6801
    else {
6802
        auto it = ranges::begin(source);
6803
        while (n > 0) {
6804
            --n;
6805
            ++it;
6806
        }
6807
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6808
    }
6809
11.3k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
6810
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6811
0
{
6812
0
    return source;
6813
0
}
6814
}  // namespace detail
6815
6816
/////////////////////////////////////////////////////////////////
6817
// Format string parsing
6818
/////////////////////////////////////////////////////////////////
6819
6820
namespace detail {
6821
/// Parse context with extra data used only for compile-time checks
6822
template <typename CharT>
6823
class compile_parse_context : public basic_scan_parse_context<CharT> {
6824
    using base = basic_scan_parse_context<CharT>;
6825
6826
public:
6827
    template <typename Source>
6828
    explicit constexpr compile_parse_context(
6829
        source_tag_type<Source>,
6830
        std::basic_string_view<CharT> format_str,
6831
        int num_args,
6832
        const arg_type* types,
6833
        int next_arg_id = 0)
6834
        : base(source_tag<Source>, format_str, next_arg_id),
6835
          m_num_args(num_args),
6836
          m_types(types)
6837
    {
6838
    }
6839
6840
    SCN_NODISCARD constexpr int get_num_args() const
6841
0
    {
6842
0
        return m_num_args;
6843
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6844
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6845
    {
6846
        return m_types[id];
6847
    }
6848
6849
    SCN_GCC_PUSH
6850
    SCN_GCC_IGNORE("-Wsign-conversion")
6851
6852
    constexpr std::size_t next_arg_id()
6853
    {
6854
        auto id = base::next_arg_id();
6855
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6856
            this->on_error("Argument not found");
6857
        }
6858
        return id;
6859
    }
6860
6861
    constexpr void check_arg_id(std::size_t id)
6862
    {
6863
        base::check_arg_id(id);
6864
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6865
            this->on_error("Argument not found");
6866
        }
6867
    }
6868
    using base::check_arg_id;
6869
6870
private:
6871
    int m_num_args;
6872
    const arg_type* m_types;
6873
6874
    SCN_GCC_POP  // -Wsign-conversion
6875
};
6876
6877
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6878
0
{
6879
0
#ifdef __cpp_lib_is_constant_evaluated
6880
0
    SCN_UNUSED(default_value);
6881
0
    return std::is_constant_evaluated();
6882
0
#else
6883
0
    return default_value;
6884
0
#endif
6885
0
}
6886
}  // namespace detail
6887
6888
template <typename CharT>
6889
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6890
1.02M
{
6891
1.02M
    if (detail::is_constant_evaluated() &&
6892
1.02M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
1.02M
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
710k
{
6891
710k
    if (detail::is_constant_evaluated() &&
6892
710k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
710k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6890
318k
{
6891
318k
    if (detail::is_constant_evaluated() &&
6892
318k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6893
        // The cast below will cause an error on gcc pre-12
6894
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6895
0
        if (static_cast<int>(id) >=
6896
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6897
0
            SCN_UNLIKELY_ATTR
6898
0
            on_error("Argument not found");
6899
0
        }
6900
0
    }
6901
318k
}
6902
6903
namespace detail {
6904
enum class align_type : unsigned char {
6905
    none = 0,
6906
    left = 1,   // '<'
6907
    right = 2,  // '>'
6908
    center = 3  // '^'
6909
};
6910
6911
enum class presentation_type {
6912
    none,
6913
    int_binary,            // 'b', 'B'
6914
    int_decimal,           // 'd'
6915
    int_generic,           // 'i'
6916
    int_unsigned_decimal,  // 'u'
6917
    int_octal,             // 'o'
6918
    int_hex,               // 'x', 'X'
6919
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6920
    float_hex,             // 'a', 'A'
6921
    float_scientific,      // 'e', 'E'
6922
    float_fixed,           // 'f', 'F'
6923
    float_general,         // 'g', 'G'
6924
    string,                // 's'
6925
    string_set,            // '[...]'
6926
    regex,                 // '/.../.'
6927
    regex_escaped,         // '/..\/../.'
6928
    character,             // 'c'
6929
    escaped_character,     // '?'
6930
    pointer,               // 'p'
6931
};
6932
6933
enum class regex_flags {
6934
    none = 0,
6935
    multiline = 1,   // /m
6936
    singleline = 2,  // /s
6937
    nocase = 4,      // /i
6938
    nocapture = 8,   // /n
6939
    // TODO?
6940
    // would probably need to go hand-in-hand with locale,
6941
    // where it could even be the default/only option -> no flag?
6942
    // why else would you even use locale with a regex?
6943
    // collate = 16,
6944
};
6945
6946
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6947
0
{
6948
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6949
0
                                    static_cast<unsigned>(b));
6950
0
}
6951
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6952
0
{
6953
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6954
0
                                    static_cast<unsigned>(b));
6955
0
}
6956
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6957
0
{
6958
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6959
0
                                    static_cast<unsigned>(b));
6960
0
}
6961
6962
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6963
0
{
6964
0
    return a = a & b;
6965
0
}
6966
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6967
0
{
6968
0
    return a = a | b;
6969
0
}
6970
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6971
0
{
6972
0
    return a = a ^ b;
6973
0
}
6974
6975
class fill_type {
6976
public:
6977
    constexpr void operator=(char c)
6978
0
    {
6979
0
        m_data[0] = c;
6980
0
        m_size = 1;
6981
0
    }
6982
6983
    template <typename CharT>
6984
    constexpr void operator=(std::basic_string_view<CharT> s)
6985
0
    {
6986
0
        SCN_EXPECT(!s.empty());
6987
0
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6988
0
        if constexpr (sizeof(CharT) == 1) {
6989
0
            for (size_t i = 0; i < s.size(); ++i) {
6990
0
                SCN_GCC_PUSH
6991
0
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6992
0
                m_data[i] = s[i];
6993
0
                SCN_GCC_POP
6994
0
            }
6995
0
            m_size = static_cast<unsigned char>(s.size());
6996
        }
6997
        else if constexpr (sizeof(CharT) == 2) {
6998
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6999
            m_data[1] =
7000
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
7001
            if (s.size() == 1) {
7002
                return;
7003
            }
7004
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
7005
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
7006
        }
7007
0
        else {
7008
0
            const auto front = static_cast<unsigned>(s.front());
7009
0
            m_data[0] = static_cast<char>(front);
7010
0
            m_data[1] = static_cast<char>(front >> 8);
7011
0
            m_data[2] = static_cast<char>(front >> 16);
7012
0
            m_data[3] = static_cast<char>(front >> 24);
7013
0
        }
7014
0
    }
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7015
7016
    constexpr size_t size() const
7017
0
    {
7018
0
        return m_size;
7019
0
    }
7020
7021
    template <typename CharT>
7022
    CharT get_code_unit() const
7023
0
    {
7024
0
        SCN_EXPECT(m_size <= sizeof(CharT));
7025
0
        CharT r{};
7026
0
        std::memcpy(&r, m_data, m_size);
7027
0
        return r;
7028
0
    }
Unexecuted instantiation: char scn::v4::detail::fill_type::get_code_unit<char>() const
Unexecuted instantiation: wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
7029
7030
    template <typename CharT>
7031
    std::basic_string_view<CharT> get_code_units() const
7032
0
    {
7033
0
        return {reinterpret_cast<const CharT*>(m_data), m_size};
7034
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
7035
7036
private:
7037
    static constexpr size_t max_size = 4;
7038
    char m_data[max_size] = {' '};
7039
    unsigned char m_size{1};
7040
};
7041
7042
struct format_specs {
7043
    int width{0}, precision{0};
7044
    fill_type fill{};
7045
    presentation_type type{presentation_type::none};
7046
    std::array<uint8_t, 128 / 8> charset_literals{0};
7047
    bool charset_has_nonascii{false}, charset_is_inverted{false};
7048
    const void* charset_string_data{nullptr};
7049
    size_t charset_string_size{0};
7050
    regex_flags regexp_flags{regex_flags::none};
7051
    unsigned char arbitrary_base{0};
7052
    align_type align{align_type::none};
7053
    bool localized{false};
7054
7055
    constexpr format_specs() = default;
7056
7057
    SCN_NODISCARD constexpr int get_base() const
7058
858k
    {
7059
858k
        SCN_GCC_COMPAT_PUSH
7060
858k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
7061
858k
        switch (type) {
7062
174k
            case presentation_type::none:
7063
174k
                return 10;
7064
175k
            case presentation_type::int_generic:
7065
175k
                return 0;
7066
0
            case presentation_type::int_arbitrary_base:
7067
0
                return arbitrary_base;
7068
7069
76.7k
            case presentation_type::int_binary:
7070
76.7k
                return 2;
7071
110k
            case presentation_type::int_octal:
7072
110k
                return 8;
7073
157k
            case presentation_type::int_decimal:
7074
157k
            case presentation_type::int_unsigned_decimal:
7075
157k
                return 10;
7076
164k
            case presentation_type::int_hex:
7077
164k
                return 16;
7078
7079
0
            default:
7080
0
                SCN_EXPECT(false);
7081
858k
                SCN_UNREACHABLE;
7082
858k
        }
7083
858k
        SCN_GCC_COMPAT_POP
7084
858k
    }
7085
7086
    template <typename CharT>
7087
    std::basic_string_view<CharT> charset_string() const
7088
0
    {
7089
0
        return {reinterpret_cast<const CharT*>(charset_string_data),
7090
0
                charset_string_size};
7091
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
7092
};
7093
7094
struct specs_setter {
7095
public:
7096
1.02M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7097
7098
    constexpr void on_align(align_type align)
7099
0
    {
7100
0
        m_specs.align = align;
7101
0
    }
7102
    template <typename CharT>
7103
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7104
0
    {
7105
0
        m_specs.fill = fill;
7106
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7107
    template <bool Dependent = true>
7108
    constexpr void on_localized()
7109
179k
    {
7110
179k
        if constexpr (!SCN_DISABLE_LOCALE) {
7111
179k
            m_specs.localized = true;
7112
        }
7113
        else {
7114
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7115
        }
7116
179k
    }
7117
7118
    constexpr void on_width(int width)
7119
0
    {
7120
0
        if (m_specs.precision != 0 && width > m_specs.precision) {
7121
            // clang-format off
7122
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7123
            // clang-format on
7124
0
        }
7125
7126
0
        m_specs.width = width;
7127
0
    }
7128
    constexpr void on_precision(int prec)
7129
0
    {
7130
0
        if (m_specs.width > prec) {
7131
            // clang-format off
7132
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7133
            // clang-format on
7134
0
        }
7135
7136
0
        m_specs.precision = prec;
7137
0
    }
7138
7139
    constexpr void on_type(presentation_type type)
7140
750k
    {
7141
750k
        m_specs.type = type;
7142
750k
    }
7143
7144
    constexpr void on_charset_single(char32_t cp)
7145
0
    {
7146
0
        const auto cp_value = static_cast<unsigned>(cp);
7147
0
        if (SCN_LIKELY(cp_value <= 127)) {
7148
0
            m_specs.charset_literals[cp_value / 8] |=
7149
0
                static_cast<unsigned char>(1ul << (cp_value % 8));
7150
0
        }
7151
0
        else {
7152
0
            m_specs.charset_has_nonascii = true;
7153
0
        }
7154
0
    }
7155
7156
    constexpr void on_charset_range(char32_t begin, char32_t end)
7157
0
    {
7158
0
        const auto begin_value = static_cast<unsigned>(begin);
7159
0
        const auto end_value = static_cast<unsigned>(end);
7160
0
        SCN_EXPECT(begin_value < end_value);
7161
7162
0
        if (SCN_LIKELY(end_value <= 127)) {
7163
            // No need to bit-twiddle with a mask, because with the
7164
            // SCN_ASSUME, -O3 will optimize this to a single operation
7165
0
            SCN_ASSUME(begin_value < end_value);
7166
0
            for (auto v = begin_value; v != end_value; ++v) {
7167
0
                m_specs.charset_literals[v / 8] |=
7168
0
                    static_cast<unsigned char>(1ul << (v % 8));
7169
0
            }
7170
0
        }
7171
0
        else {
7172
0
            m_specs.charset_has_nonascii = true;
7173
0
        }
7174
0
    }
7175
7176
    constexpr void on_charset_inverted()
7177
0
    {
7178
0
        m_specs.charset_is_inverted = true;
7179
0
    }
7180
7181
    template <typename CharT>
7182
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7183
0
    {
7184
0
        m_specs.charset_string_data = fmt.data();
7185
0
        m_specs.charset_string_size = fmt.size();
7186
0
        on_type(presentation_type::string_set);
7187
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7188
7189
    template <typename CharT>
7190
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7191
0
    {
7192
0
        m_specs.charset_string_data = pattern.data();
7193
0
        m_specs.charset_string_size = pattern.size();
7194
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7195
    constexpr void on_regex_flags(regex_flags flags)
7196
0
    {
7197
0
        m_specs.regexp_flags = flags;
7198
0
    }
7199
7200
    // Intentionally not constexpr to get a compiler-time error when called
7201
    /*not-constexpr*/ void on_error(const char* msg)
7202
99.0k
    {
7203
99.0k
        SCN_UNLIKELY_ATTR
7204
99.0k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7205
99.0k
    }
7206
    /*not-constexpr*/ void on_error(scan_error err)
7207
0
    {
7208
0
        SCN_UNLIKELY_ATTR
7209
0
        m_error = unexpected(err);
7210
0
    }
7211
7212
    constexpr scan_expected<void> get_error() const
7213
929k
    {
7214
929k
        return m_error;
7215
929k
    }
7216
7217
protected:
7218
    format_specs& m_specs;
7219
    scan_expected<void> m_error;
7220
};
7221
7222
template <typename CharT>
7223
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7224
0
{
7225
0
    SCN_EXPECT(begin != end);
7226
0
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7227
7228
0
    unsigned long long value = 0;
7229
0
    do {
7230
0
        value *= 10;
7231
0
        value += static_cast<unsigned long long>(*begin - '0');
7232
0
        if (value >
7233
0
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7234
0
            return -1;
7235
0
        }
7236
0
        ++begin;
7237
0
    } while (begin != end && *begin >= '0' && *begin <= '9');
7238
0
    return static_cast<int>(value);
7239
0
}
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
7240
7241
template <typename CharT, typename IDHandler>
7242
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7243
                                       const CharT* end,
7244
                                       IDHandler&& handler)
7245
0
{
7246
0
    SCN_EXPECT(begin != end);
7247
7248
0
    CharT c = *begin;
7249
0
    if (c < CharT{'0'} || c > CharT{'9'}) {
7250
0
        handler.on_error("Invalid argument ID");
7251
0
        return begin;
7252
0
    }
7253
7254
0
    int idx = 0;
7255
0
    if (c != CharT{'0'}) {
7256
0
        idx = parse_simple_int(begin, end);
7257
0
    }
7258
0
    else {
7259
0
        ++begin;
7260
0
    }
7261
7262
0
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7263
0
        handler.on_error("Invalid argument ID");
7264
0
        return begin;
7265
0
    }
7266
0
    handler(idx);
7267
7268
0
    return begin;
7269
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7270
7271
template <typename CharT, typename IDHandler>
7272
constexpr const CharT* parse_arg_id(const CharT* begin,
7273
                                    const CharT* end,
7274
                                    IDHandler&& handler)
7275
1.02M
{
7276
1.02M
    SCN_EXPECT(begin != end);
7277
1.02M
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
1.02M
    handler();
7282
1.02M
    return begin;
7283
1.02M
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7275
354k
{
7276
354k
    SCN_EXPECT(begin != end);
7277
354k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
354k
    handler();
7282
354k
    return begin;
7283
354k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
7275
355k
{
7276
355k
    SCN_EXPECT(begin != end);
7277
355k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
355k
    handler();
7282
355k
    return begin;
7283
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7275
159k
{
7276
159k
    SCN_EXPECT(begin != end);
7277
159k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
159k
    handler();
7282
159k
    return begin;
7283
159k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
7275
159k
{
7276
159k
    SCN_EXPECT(begin != end);
7277
159k
    if (*begin != '}' && *begin != ':') {
7278
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7279
0
    }
7280
7281
159k
    handler();
7282
159k
    return begin;
7283
159k
}
7284
7285
template <typename CharT>
7286
constexpr presentation_type parse_presentation_type(CharT type)
7287
849k
{
7288
849k
    switch (type) {
7289
78.2k
        case 'b':
7290
127k
        case 'B':
7291
127k
            return presentation_type::int_binary;
7292
161k
        case 'd':
7293
161k
            return presentation_type::int_decimal;
7294
179k
        case 'i':
7295
179k
            return presentation_type::int_generic;
7296
0
        case 'u':
7297
0
            return presentation_type::int_unsigned_decimal;
7298
112k
        case 'o':
7299
112k
            return presentation_type::int_octal;
7300
169k
        case 'x':
7301
169k
        case 'X':
7302
169k
            return presentation_type::int_hex;
7303
0
        case 'r':
7304
0
        case 'R':
7305
0
            return presentation_type::int_arbitrary_base;
7306
0
        case 'a':
7307
0
        case 'A':
7308
0
            return presentation_type::float_hex;
7309
0
        case 'e':
7310
0
        case 'E':
7311
0
            return presentation_type::float_scientific;
7312
0
        case 'f':
7313
0
        case 'F':
7314
0
            return presentation_type::float_fixed;
7315
0
        case 'g':
7316
0
        case 'G':
7317
0
            return presentation_type::float_general;
7318
0
        case 's':
7319
0
            return presentation_type::string;
7320
0
        case 'c':
7321
0
            return presentation_type::character;
7322
0
        case '?':
7323
0
            return presentation_type::escaped_character;
7324
0
        case 'p':
7325
0
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
99.0k
        default:
7333
99.0k
            return presentation_type::none;
7334
849k
    }
7335
849k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7287
581k
{
7288
581k
    switch (type) {
7289
44.7k
        case 'b':
7290
61.2k
        case 'B':
7291
61.2k
            return presentation_type::int_binary;
7292
127k
        case 'd':
7293
127k
            return presentation_type::int_decimal;
7294
145k
        case 'i':
7295
145k
            return presentation_type::int_generic;
7296
0
        case 'u':
7297
0
            return presentation_type::int_unsigned_decimal;
7298
79.4k
        case 'o':
7299
79.4k
            return presentation_type::int_octal;
7300
134k
        case 'x':
7301
134k
        case 'X':
7302
134k
            return presentation_type::int_hex;
7303
0
        case 'r':
7304
0
        case 'R':
7305
0
            return presentation_type::int_arbitrary_base;
7306
0
        case 'a':
7307
0
        case 'A':
7308
0
            return presentation_type::float_hex;
7309
0
        case 'e':
7310
0
        case 'E':
7311
0
            return presentation_type::float_scientific;
7312
0
        case 'f':
7313
0
        case 'F':
7314
0
            return presentation_type::float_fixed;
7315
0
        case 'g':
7316
0
        case 'G':
7317
0
            return presentation_type::float_general;
7318
0
        case 's':
7319
0
            return presentation_type::string;
7320
0
        case 'c':
7321
0
            return presentation_type::character;
7322
0
        case '?':
7323
0
            return presentation_type::escaped_character;
7324
0
        case 'p':
7325
0
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
33.0k
        default:
7333
33.0k
            return presentation_type::none;
7334
581k
    }
7335
581k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7287
268k
{
7288
268k
    switch (type) {
7289
33.4k
        case 'b':
7290
66.4k
        case 'B':
7291
66.4k
            return presentation_type::int_binary;
7292
33.9k
        case 'd':
7293
33.9k
            return presentation_type::int_decimal;
7294
33.9k
        case 'i':
7295
33.9k
            return presentation_type::int_generic;
7296
0
        case 'u':
7297
0
            return presentation_type::int_unsigned_decimal;
7298
33.5k
        case 'o':
7299
33.5k
            return presentation_type::int_octal;
7300
34.0k
        case 'x':
7301
34.0k
        case 'X':
7302
34.0k
            return presentation_type::int_hex;
7303
0
        case 'r':
7304
0
        case 'R':
7305
0
            return presentation_type::int_arbitrary_base;
7306
0
        case 'a':
7307
0
        case 'A':
7308
0
            return presentation_type::float_hex;
7309
0
        case 'e':
7310
0
        case 'E':
7311
0
            return presentation_type::float_scientific;
7312
0
        case 'f':
7313
0
        case 'F':
7314
0
            return presentation_type::float_fixed;
7315
0
        case 'g':
7316
0
        case 'G':
7317
0
            return presentation_type::float_general;
7318
0
        case 's':
7319
0
            return presentation_type::string;
7320
0
        case 'c':
7321
0
            return presentation_type::character;
7322
0
        case '?':
7323
0
            return presentation_type::escaped_character;
7324
0
        case 'p':
7325
0
            return presentation_type::pointer;
7326
0
        case '[':
7327
0
        case '/':
7328
            // Should be handled by parse_presentation_set and
7329
            // parse_presentation_regex
7330
0
            SCN_EXPECT(false);
7331
0
            SCN_UNREACHABLE;
7332
66.0k
        default:
7333
66.0k
            return presentation_type::none;
7334
268k
    }
7335
268k
}
7336
7337
template <typename CharT>
7338
constexpr bool is_ascii_letter(CharT ch)
7339
929k
{
7340
929k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
929k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
929k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7339
677k
{
7340
677k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
677k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
677k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7339
252k
{
7340
252k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7341
252k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7342
252k
}
7343
7344
template <typename CharT>
7345
constexpr int code_point_length(const CharT* begin, const CharT* end)
7346
328k
{
7347
328k
    SCN_EXPECT(begin != end);
7348
328k
    if constexpr (sizeof(CharT) != 1) {
7349
149k
        return 1;
7350
    }
7351
178k
    else {
7352
178k
        const auto lengths =
7353
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
178k
            "\3\4";
7355
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
178k
        return len;
7357
178k
    }
7358
328k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7346
178k
{
7347
178k
    SCN_EXPECT(begin != end);
7348
    if constexpr (sizeof(CharT) != 1) {
7349
        return 1;
7350
    }
7351
178k
    else {
7352
178k
        const auto lengths =
7353
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
178k
            "\3\4";
7355
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
178k
        return len;
7357
178k
    }
7358
178k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7346
149k
{
7347
149k
    SCN_EXPECT(begin != end);
7348
149k
    if constexpr (sizeof(CharT) != 1) {
7349
149k
        return 1;
7350
    }
7351
    else {
7352
        const auto lengths =
7353
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7354
            "\3\4";
7355
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7356
        return len;
7357
    }
7358
149k
}
7359
7360
template <typename CharT, typename Handler>
7361
constexpr const CharT* parse_align(const CharT* begin,
7362
                                   const CharT* end,
7363
                                   Handler&& handler)
7364
328k
{
7365
328k
    SCN_EXPECT(begin != end);
7366
7367
656k
    auto check_align = [](wchar_t ch) {
7368
656k
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
656k
            default:
7376
656k
                return align_type::none;
7377
656k
        }
7378
656k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
178k
    auto check_align = [](wchar_t ch) {
7368
178k
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
178k
            default:
7376
178k
                return align_type::none;
7377
178k
        }
7378
178k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
178k
    auto check_align = [](wchar_t ch) {
7368
178k
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
178k
            default:
7376
178k
                return align_type::none;
7377
178k
        }
7378
178k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
149k
    auto check_align = [](wchar_t ch) {
7368
149k
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
149k
            default:
7376
149k
                return align_type::none;
7377
149k
        }
7378
149k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7367
149k
    auto check_align = [](wchar_t ch) {
7368
149k
        switch (ch) {
7369
0
            case L'<':
7370
0
                return align_type::left;
7371
0
            case L'>':
7372
0
                return align_type::right;
7373
0
            case L'^':
7374
0
                return align_type::center;
7375
149k
            default:
7376
149k
                return align_type::none;
7377
149k
        }
7378
149k
    };
7379
7380
328k
    auto potential_fill_len = code_point_length(begin, end);
7381
328k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
328k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
328k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
328k
    auto potential_fill = std::basic_string_view<CharT>{
7390
328k
        begin, static_cast<size_t>(potential_fill_len)};
7391
328k
    const auto begin_before_fill = begin;
7392
328k
    begin += potential_fill_len;
7393
7394
328k
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
328k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
328k
    const auto begin_after_fill = begin;
7400
328k
    ++begin;
7401
7402
328k
    if (potential_fill_len == 1) {
7403
328k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
328k
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
328k
    }
7411
7412
328k
    if (potential_align_after_fill == align_type::none) {
7413
328k
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
328k
        return begin_before_fill;
7418
328k
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
328k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7364
89.1k
{
7365
89.1k
    SCN_EXPECT(begin != end);
7366
7367
89.1k
    auto check_align = [](wchar_t ch) {
7368
89.1k
        switch (ch) {
7369
89.1k
            case L'<':
7370
89.1k
                return align_type::left;
7371
89.1k
            case L'>':
7372
89.1k
                return align_type::right;
7373
89.1k
            case L'^':
7374
89.1k
                return align_type::center;
7375
89.1k
            default:
7376
89.1k
                return align_type::none;
7377
89.1k
        }
7378
89.1k
    };
7379
7380
89.1k
    auto potential_fill_len = code_point_length(begin, end);
7381
89.1k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
89.1k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
89.1k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
89.1k
    auto potential_fill = std::basic_string_view<CharT>{
7390
89.1k
        begin, static_cast<size_t>(potential_fill_len)};
7391
89.1k
    const auto begin_before_fill = begin;
7392
89.1k
    begin += potential_fill_len;
7393
7394
89.1k
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
89.1k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
89.1k
    const auto begin_after_fill = begin;
7400
89.1k
    ++begin;
7401
7402
89.1k
    if (potential_fill_len == 1) {
7403
89.1k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
89.1k
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
89.1k
    }
7411
7412
89.1k
    if (potential_align_after_fill == align_type::none) {
7413
89.1k
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
89.1k
        return begin_before_fill;
7418
89.1k
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7364
89.2k
{
7365
89.2k
    SCN_EXPECT(begin != end);
7366
7367
89.2k
    auto check_align = [](wchar_t ch) {
7368
89.2k
        switch (ch) {
7369
89.2k
            case L'<':
7370
89.2k
                return align_type::left;
7371
89.2k
            case L'>':
7372
89.2k
                return align_type::right;
7373
89.2k
            case L'^':
7374
89.2k
                return align_type::center;
7375
89.2k
            default:
7376
89.2k
                return align_type::none;
7377
89.2k
        }
7378
89.2k
    };
7379
7380
89.2k
    auto potential_fill_len = code_point_length(begin, end);
7381
89.2k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
89.2k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
89.2k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
89.2k
    auto potential_fill = std::basic_string_view<CharT>{
7390
89.2k
        begin, static_cast<size_t>(potential_fill_len)};
7391
89.2k
    const auto begin_before_fill = begin;
7392
89.2k
    begin += potential_fill_len;
7393
7394
89.2k
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
89.2k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
89.2k
    const auto begin_after_fill = begin;
7400
89.2k
    ++begin;
7401
7402
89.2k
    if (potential_fill_len == 1) {
7403
89.2k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
89.2k
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
89.2k
    }
7411
7412
89.2k
    if (potential_align_after_fill == align_type::none) {
7413
89.2k
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
89.2k
        return begin_before_fill;
7418
89.2k
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7364
74.7k
{
7365
74.7k
    SCN_EXPECT(begin != end);
7366
7367
74.7k
    auto check_align = [](wchar_t ch) {
7368
74.7k
        switch (ch) {
7369
74.7k
            case L'<':
7370
74.7k
                return align_type::left;
7371
74.7k
            case L'>':
7372
74.7k
                return align_type::right;
7373
74.7k
            case L'^':
7374
74.7k
                return align_type::center;
7375
74.7k
            default:
7376
74.7k
                return align_type::none;
7377
74.7k
        }
7378
74.7k
    };
7379
7380
74.7k
    auto potential_fill_len = code_point_length(begin, end);
7381
74.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
74.7k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
74.7k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
74.7k
    auto potential_fill = std::basic_string_view<CharT>{
7390
74.7k
        begin, static_cast<size_t>(potential_fill_len)};
7391
74.7k
    const auto begin_before_fill = begin;
7392
74.7k
    begin += potential_fill_len;
7393
7394
74.7k
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
74.7k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
74.7k
    const auto begin_after_fill = begin;
7400
74.7k
    ++begin;
7401
7402
74.7k
    if (potential_fill_len == 1) {
7403
74.7k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
74.7k
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
74.7k
    }
7411
7412
74.7k
    if (potential_align_after_fill == align_type::none) {
7413
74.7k
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
74.7k
        return begin_before_fill;
7418
74.7k
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7364
74.7k
{
7365
74.7k
    SCN_EXPECT(begin != end);
7366
7367
74.7k
    auto check_align = [](wchar_t ch) {
7368
74.7k
        switch (ch) {
7369
74.7k
            case L'<':
7370
74.7k
                return align_type::left;
7371
74.7k
            case L'>':
7372
74.7k
                return align_type::right;
7373
74.7k
            case L'^':
7374
74.7k
                return align_type::center;
7375
74.7k
            default:
7376
74.7k
                return align_type::none;
7377
74.7k
        }
7378
74.7k
    };
7379
7380
74.7k
    auto potential_fill_len = code_point_length(begin, end);
7381
74.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7382
74.7k
                     std::distance(begin, end) < potential_fill_len)) {
7383
0
        handler.on_error("Invalid encoding in fill character");
7384
0
        return begin;
7385
0
    }
7386
7387
74.7k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7388
7389
74.7k
    auto potential_fill = std::basic_string_view<CharT>{
7390
74.7k
        begin, static_cast<size_t>(potential_fill_len)};
7391
74.7k
    const auto begin_before_fill = begin;
7392
74.7k
    begin += potential_fill_len;
7393
7394
74.7k
    if (begin == end) {
7395
0
        return begin_before_fill;
7396
0
    }
7397
7398
74.7k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7399
74.7k
    const auto begin_after_fill = begin;
7400
74.7k
    ++begin;
7401
7402
74.7k
    if (potential_fill_len == 1) {
7403
74.7k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7404
0
            handler.on_error("Invalid fill character '{' in format string");
7405
0
            return begin;
7406
0
        }
7407
74.7k
        if (potential_fill[0] == '[') {
7408
0
            return begin_before_fill;
7409
0
        }
7410
74.7k
    }
7411
7412
74.7k
    if (potential_align_after_fill == align_type::none) {
7413
74.7k
        if (potential_align_on_fill != align_type::none) {
7414
0
            handler.on_align(potential_align_on_fill);
7415
0
            return begin_after_fill;
7416
0
        }
7417
74.7k
        return begin_before_fill;
7418
74.7k
    }
7419
7420
0
    handler.on_fill(potential_fill);
7421
0
    handler.on_align(potential_align_after_fill);
7422
0
    return begin;
7423
74.7k
}
7424
7425
template <typename CharT, typename Handler>
7426
constexpr const CharT* parse_width(const CharT* begin,
7427
                                   const CharT* end,
7428
                                   Handler&& handler)
7429
328k
{
7430
328k
    SCN_EXPECT(begin != end);
7431
7432
328k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
328k
    return begin;
7443
328k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7429
89.1k
{
7430
89.1k
    SCN_EXPECT(begin != end);
7431
7432
89.1k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
89.1k
    return begin;
7443
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7429
89.2k
{
7430
89.2k
    SCN_EXPECT(begin != end);
7431
7432
89.2k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
89.2k
    return begin;
7443
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7429
74.7k
{
7430
74.7k
    SCN_EXPECT(begin != end);
7431
7432
74.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
74.7k
    return begin;
7443
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7429
74.7k
{
7430
74.7k
    SCN_EXPECT(begin != end);
7431
7432
74.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7433
0
        int width = parse_simple_int(begin, end);
7434
0
        if (SCN_LIKELY(width != -1)) {
7435
0
            handler.on_width(width);
7436
0
        }
7437
0
        else {
7438
0
            handler.on_error("Invalid field width");
7439
0
            return begin;
7440
0
        }
7441
0
    }
7442
74.7k
    return begin;
7443
74.7k
}
7444
7445
template <typename CharT, typename Handler>
7446
constexpr const CharT* parse_precision(const CharT* begin,
7447
                                       const CharT* end,
7448
                                       Handler&& handler)
7449
0
{
7450
0
    SCN_EXPECT(begin != end);
7451
7452
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7453
0
        int prec = parse_simple_int(begin, end);
7454
0
        if (SCN_LIKELY(prec != -1)) {
7455
0
            handler.on_precision(prec);
7456
0
        }
7457
0
        else {
7458
0
            handler.on_error("Invalid field precision");
7459
0
            return begin;
7460
0
        }
7461
0
    }
7462
0
    return begin;
7463
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7464
7465
template <typename CharT, typename SpecHandler>
7466
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7467
                                                     const CharT* end,
7468
                                                     SpecHandler&& handler)
7469
0
{
7470
0
    SCN_EXPECT(begin != end);
7471
7472
0
    auto len = code_point_length_by_starting_code_unit(*begin);
7473
0
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7474
0
        handler.on_error("Invalid encoding in format string");
7475
0
        return invalid_code_point;
7476
0
    }
7477
7478
0
    const auto cp =
7479
0
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7480
0
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7481
0
        handler.on_error("Invalid encoding in format string");
7482
0
        return invalid_code_point;
7483
0
    }
7484
7485
0
    begin += len;
7486
0
    return cp;
7487
0
}
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7488
7489
template <typename CharT, typename SpecHandler>
7490
constexpr void parse_presentation_set_literal(const CharT*& begin,
7491
                                              const CharT* end,
7492
                                              SpecHandler&& handler)
7493
0
{
7494
0
    SCN_EXPECT(begin != end);
7495
7496
0
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7497
0
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7498
0
        return;
7499
0
    }
7500
7501
0
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7502
0
        *(begin + 1) != CharT{']'}) {
7503
0
        ++begin;
7504
7505
0
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7506
0
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7507
0
            return;
7508
0
        }
7509
7510
0
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7511
            // clang-format off
7512
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7513
            // clang-format on
7514
0
            return;
7515
0
        }
7516
7517
0
        handler.on_charset_range(cp_first, cp_second + 1);
7518
0
        return;
7519
0
    }
7520
7521
0
    handler.on_charset_single(cp_first);
7522
0
}
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7523
7524
template <typename CharT, typename SpecHandler>
7525
constexpr std::basic_string_view<CharT> parse_presentation_set(
7526
    const CharT*& begin,
7527
    const CharT* end,
7528
    SpecHandler&& handler)
7529
0
{
7530
0
    SCN_EXPECT(begin != end);
7531
0
    SCN_EXPECT(*begin == CharT{'['});
7532
7533
0
    auto start = begin;
7534
0
    ++begin;
7535
7536
0
    if (SCN_UNLIKELY(begin == end)) {
7537
        // clang-format off
7538
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7539
        // clang-format on
7540
0
        return {};
7541
0
    }
7542
0
    if (*begin == CharT{'^'}) {
7543
0
        handler.on_charset_inverted();
7544
0
        ++begin;
7545
0
        if (SCN_UNLIKELY(begin == end)) {
7546
            // clang-format off
7547
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7548
            // clang-format on
7549
0
            return {};
7550
0
        }
7551
0
        if (*begin == CharT{']'}) {
7552
0
            handler.on_charset_single(char32_t{']'});
7553
0
            ++begin;
7554
0
        }
7555
0
    }
7556
0
    else if (*begin == CharT{']'}) {
7557
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7558
0
    }
7559
7560
0
    while (begin != end) {
7561
0
        if (SCN_UNLIKELY(!handler.get_error())) {
7562
0
            break;
7563
0
        }
7564
7565
0
        if (*begin == CharT{']'}) {
7566
0
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7567
0
        }
7568
7569
0
        parse_presentation_set_literal(begin, end, handler);
7570
0
    }
7571
7572
0
    SCN_UNLIKELY_ATTR
7573
0
    handler.on_error("Invalid [character set] specifier in format string");
7574
0
    return {};
7575
0
}
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7576
7577
template <typename CharT, typename SpecHandler>
7578
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7579
                                                const CharT* end,
7580
                                                SpecHandler&& handler)
7581
0
{
7582
0
#if !SCN_DISABLE_REGEX
7583
0
    SCN_EXPECT(begin != end);
7584
0
    SCN_EXPECT(*begin == CharT{'/'});
7585
7586
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7587
0
                  std::is_same_v<CharT, wchar_t>) {
7588
0
        handler.on_error("Regex backend doesn't support wide strings as input");
7589
0
        return begin;
7590
0
    }
7591
7592
0
    auto start = begin;
7593
0
    ++begin;
7594
7595
0
    if (SCN_UNLIKELY(begin == end)) {
7596
0
        handler.on_error("Unexpected end of regex in format string");
7597
0
        return begin;
7598
0
    }
7599
7600
0
    handler.on_type(presentation_type::regex);
7601
0
    for (; begin != end; ++begin) {
7602
0
        if (*begin == CharT{'/'}) {
7603
0
            if (*(begin - 1) != CharT{'\\'}) {
7604
0
                break;
7605
0
            }
7606
0
            else {
7607
0
                handler.on_type(presentation_type::regex_escaped);
7608
0
            }
7609
0
        }
7610
0
    }
7611
0
    if (SCN_UNLIKELY(begin == end)) {
7612
0
        handler.on_error("Unexpected end of regex in format string");
7613
0
        return begin;
7614
0
    }
7615
7616
0
    auto regex_end = begin;
7617
0
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7618
0
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7619
0
        handler.on_error("Invalid (empty) regex in format string");
7620
0
        return begin;
7621
0
    }
7622
0
    handler.on_regex_pattern(regex_pattern);
7623
0
    ++begin;
7624
7625
0
    if (SCN_UNLIKELY(begin == end)) {
7626
0
        handler.on_error("Unexpected end of regex in format string");
7627
0
        return begin;
7628
0
    }
7629
7630
0
    regex_flags flags{regex_flags::none};
7631
0
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7632
0
        {{'m', regex_flags::multiline},
7633
0
         {'s', regex_flags::singleline},
7634
0
         {'i', regex_flags::nocase},
7635
0
         {'n', regex_flags::nocapture}}};
7636
0
    for (; begin != end; ++begin) {
7637
0
        if (*begin == CharT{'}'}) {
7638
0
            break;
7639
0
        }
7640
0
        bool found_flag = false;
7641
0
        for (auto flag : flag_map) {
7642
0
            if (static_cast<CharT>(flag.first) != *begin) {
7643
0
                continue;
7644
0
            }
7645
0
            if ((flags & flag.second) != regex_flags::none) {
7646
0
                handler.on_error("Flag set multiple times in regex");
7647
0
                return begin;
7648
0
            }
7649
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7650
            if (*begin == CharT{'s'}) {
7651
                // clang-format off
7652
                handler.on_error("/s flag for regex isn't supported by regex backend");
7653
                // clang-format on
7654
            }
7655
#if !SCN_HAS_STD_REGEX_MULTILINE
7656
            if (*begin == CharT{'m'}) {
7657
                // clang-format off
7658
                handler.on_error("/m flag for regex isn't supported by regex backend");
7659
                // clang-format on
7660
            }
7661
#endif
7662
#endif
7663
0
            flags |= flag.second;
7664
0
            found_flag = true;
7665
0
            break;
7666
0
        }
7667
0
        if (!found_flag) {
7668
0
            handler.on_error("Invalid flag in regex");
7669
0
            return begin;
7670
0
        }
7671
0
    }
7672
0
    handler.on_regex_flags(flags);
7673
7674
0
    if (SCN_UNLIKELY(begin == end)) {
7675
0
        handler.on_error("Unexpected end of regex in format string");
7676
0
        return begin;
7677
0
    }
7678
7679
0
    return begin;
7680
#else
7681
    handler.on_error("Regular expression support is disabled");
7682
    return {};
7683
#endif
7684
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7685
7686
template <typename CharT, typename SpecHandler>
7687
constexpr const CharT* parse_format_specs(const CharT* begin,
7688
                                          const CharT* end,
7689
                                          SpecHandler&& handler)
7690
1.02M
{
7691
1.02M
    auto do_presentation = [&]() -> const CharT* {
7692
849k
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
849k
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
849k
        presentation_type type = parse_presentation_type(*begin++);
7707
849k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
99.0k
            handler.on_error("Invalid type specifier in format string");
7709
99.0k
            return begin;
7710
99.0k
        }
7711
750k
        handler.on_type(type);
7712
750k
        return begin;
7713
849k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
290k
    auto do_presentation = [&]() -> const CharT* {
7692
290k
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
290k
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
290k
        presentation_type type = parse_presentation_type(*begin++);
7707
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
16.5k
            handler.on_error("Invalid type specifier in format string");
7709
16.5k
            return begin;
7710
16.5k
        }
7711
273k
        handler.on_type(type);
7712
273k
        return begin;
7713
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
290k
    auto do_presentation = [&]() -> const CharT* {
7692
290k
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
290k
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
290k
        presentation_type type = parse_presentation_type(*begin++);
7707
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
16.5k
            handler.on_error("Invalid type specifier in format string");
7709
16.5k
            return begin;
7710
16.5k
        }
7711
274k
        handler.on_type(type);
7712
274k
        return begin;
7713
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
134k
    auto do_presentation = [&]() -> const CharT* {
7692
134k
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
134k
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
134k
        presentation_type type = parse_presentation_type(*begin++);
7707
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
33.0k
            handler.on_error("Invalid type specifier in format string");
7709
33.0k
            return begin;
7710
33.0k
        }
7711
100k
        handler.on_type(type);
7712
100k
        return begin;
7713
134k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7691
134k
    auto do_presentation = [&]() -> const CharT* {
7692
134k
        if (*begin == CharT{'['}) {
7693
0
            auto set = parse_presentation_set(begin, end, handler);
7694
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
0
                return begin;
7699
0
            }
7700
0
            handler.on_character_set_string(set);
7701
0
            return begin;
7702
0
        }
7703
134k
        if (*begin == CharT{'/'}) {
7704
0
            return parse_presentation_regex(begin, end, handler);
7705
0
        }
7706
134k
        presentation_type type = parse_presentation_type(*begin++);
7707
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
33.0k
            handler.on_error("Invalid type specifier in format string");
7709
33.0k
            return begin;
7710
33.0k
        }
7711
100k
        handler.on_type(type);
7712
100k
        return begin;
7713
134k
    };
7714
7715
1.02M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
1.02M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
700k
        return do_presentation();
7718
700k
    }
7719
7720
328k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
328k
    begin = parse_align(begin, end, handler);
7726
328k
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
328k
    begin = parse_width(begin, end, handler);
7732
328k
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
328k
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
328k
    if (*begin == CharT{'L'}) {
7751
179k
        handler.on_localized();
7752
179k
        ++begin;
7753
179k
    }
7754
328k
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
328k
    if (begin != end && *begin != CharT{'}'}) {
7760
148k
        do_presentation();
7761
148k
    }
7762
328k
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
328k
    return begin;
7768
328k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7690
354k
{
7691
354k
    auto do_presentation = [&]() -> const CharT* {
7692
354k
        if (*begin == CharT{'['}) {
7693
354k
            auto set = parse_presentation_set(begin, end, handler);
7694
354k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
354k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
354k
                return begin;
7699
354k
            }
7700
354k
            handler.on_character_set_string(set);
7701
354k
            return begin;
7702
354k
        }
7703
354k
        if (*begin == CharT{'/'}) {
7704
354k
            return parse_presentation_regex(begin, end, handler);
7705
354k
        }
7706
354k
        presentation_type type = parse_presentation_type(*begin++);
7707
354k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
354k
            handler.on_error("Invalid type specifier in format string");
7709
354k
            return begin;
7710
354k
        }
7711
354k
        handler.on_type(type);
7712
354k
        return begin;
7713
354k
    };
7714
7715
354k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
354k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
265k
        return do_presentation();
7718
265k
    }
7719
7720
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
89.1k
    begin = parse_align(begin, end, handler);
7726
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
89.1k
    begin = parse_width(begin, end, handler);
7732
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
89.1k
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
89.1k
    if (*begin == CharT{'L'}) {
7751
64.4k
        handler.on_localized();
7752
64.4k
        ++begin;
7753
64.4k
    }
7754
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
89.1k
    if (begin != end && *begin != CharT{'}'}) {
7760
24.7k
        do_presentation();
7761
24.7k
    }
7762
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
89.1k
    return begin;
7768
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7690
355k
{
7691
355k
    auto do_presentation = [&]() -> const CharT* {
7692
355k
        if (*begin == CharT{'['}) {
7693
355k
            auto set = parse_presentation_set(begin, end, handler);
7694
355k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
355k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
355k
                return begin;
7699
355k
            }
7700
355k
            handler.on_character_set_string(set);
7701
355k
            return begin;
7702
355k
        }
7703
355k
        if (*begin == CharT{'/'}) {
7704
355k
            return parse_presentation_regex(begin, end, handler);
7705
355k
        }
7706
355k
        presentation_type type = parse_presentation_type(*begin++);
7707
355k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
355k
            handler.on_error("Invalid type specifier in format string");
7709
355k
            return begin;
7710
355k
        }
7711
355k
        handler.on_type(type);
7712
355k
        return begin;
7713
355k
    };
7714
7715
355k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
355k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
266k
        return do_presentation();
7718
266k
    }
7719
7720
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
89.2k
    begin = parse_align(begin, end, handler);
7726
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
89.2k
    begin = parse_width(begin, end, handler);
7732
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
89.2k
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
89.2k
    if (*begin == CharT{'L'}) {
7751
64.4k
        handler.on_localized();
7752
64.4k
        ++begin;
7753
64.4k
    }
7754
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
89.2k
    if (begin != end && *begin != CharT{'}'}) {
7760
24.7k
        do_presentation();
7761
24.7k
    }
7762
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
89.2k
    return begin;
7768
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7690
159k
{
7691
159k
    auto do_presentation = [&]() -> const CharT* {
7692
159k
        if (*begin == CharT{'['}) {
7693
159k
            auto set = parse_presentation_set(begin, end, handler);
7694
159k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
159k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
159k
                return begin;
7699
159k
            }
7700
159k
            handler.on_character_set_string(set);
7701
159k
            return begin;
7702
159k
        }
7703
159k
        if (*begin == CharT{'/'}) {
7704
159k
            return parse_presentation_regex(begin, end, handler);
7705
159k
        }
7706
159k
        presentation_type type = parse_presentation_type(*begin++);
7707
159k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
159k
            handler.on_error("Invalid type specifier in format string");
7709
159k
            return begin;
7710
159k
        }
7711
159k
        handler.on_type(type);
7712
159k
        return begin;
7713
159k
    };
7714
7715
159k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
159k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
84.4k
        return do_presentation();
7718
84.4k
    }
7719
7720
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
74.7k
    begin = parse_align(begin, end, handler);
7726
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
74.7k
    begin = parse_width(begin, end, handler);
7732
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
74.7k
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
74.7k
    if (*begin == CharT{'L'}) {
7751
25.2k
        handler.on_localized();
7752
25.2k
        ++begin;
7753
25.2k
    }
7754
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
74.7k
    if (begin != end && *begin != CharT{'}'}) {
7760
49.5k
        do_presentation();
7761
49.5k
    }
7762
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
74.7k
    return begin;
7768
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7690
159k
{
7691
159k
    auto do_presentation = [&]() -> const CharT* {
7692
159k
        if (*begin == CharT{'['}) {
7693
159k
            auto set = parse_presentation_set(begin, end, handler);
7694
159k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7695
                // clang-format off
7696
159k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7697
                // clang-format on
7698
159k
                return begin;
7699
159k
            }
7700
159k
            handler.on_character_set_string(set);
7701
159k
            return begin;
7702
159k
        }
7703
159k
        if (*begin == CharT{'/'}) {
7704
159k
            return parse_presentation_regex(begin, end, handler);
7705
159k
        }
7706
159k
        presentation_type type = parse_presentation_type(*begin++);
7707
159k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7708
159k
            handler.on_error("Invalid type specifier in format string");
7709
159k
            return begin;
7710
159k
        }
7711
159k
        handler.on_type(type);
7712
159k
        return begin;
7713
159k
    };
7714
7715
159k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7716
159k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7717
84.4k
        return do_presentation();
7718
84.4k
    }
7719
7720
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7721
0
        handler.on_error("Unexpected end of format string");
7722
0
        return begin;
7723
0
    }
7724
7725
74.7k
    begin = parse_align(begin, end, handler);
7726
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7727
0
        handler.on_error("Unexpected end of format string");
7728
0
        return begin;
7729
0
    }
7730
7731
74.7k
    begin = parse_width(begin, end, handler);
7732
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7733
0
        handler.on_error("Unexpected end of format string");
7734
0
        return begin;
7735
0
    }
7736
7737
74.7k
    if (*begin == CharT{'.'}) {
7738
0
        ++begin;
7739
0
        if (SCN_UNLIKELY(begin == end)) {
7740
0
            handler.on_error("Unexpected end of format string");
7741
0
            return begin;
7742
0
        }
7743
0
        begin = parse_precision(begin, end, handler);
7744
0
        if (SCN_UNLIKELY(begin == end)) {
7745
0
            handler.on_error("Unexpected end of format string");
7746
0
            return begin;
7747
0
        }
7748
0
    }
7749
7750
74.7k
    if (*begin == CharT{'L'}) {
7751
25.2k
        handler.on_localized();
7752
25.2k
        ++begin;
7753
25.2k
    }
7754
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7755
0
        handler.on_error("Unexpected end of format string");
7756
0
        return begin;
7757
0
    }
7758
7759
74.7k
    if (begin != end && *begin != CharT{'}'}) {
7760
49.5k
        do_presentation();
7761
49.5k
    }
7762
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7763
0
        handler.on_error("Unexpected end of format string");
7764
0
        return begin;
7765
0
    }
7766
7767
74.7k
    return begin;
7768
74.7k
}
7769
7770
template <typename CharT, typename Handler>
7771
constexpr const CharT* parse_replacement_field(const CharT* begin,
7772
                                               const CharT* end,
7773
                                               Handler& handler)
7774
1.02M
{
7775
1.02M
    struct id_adapter {
7776
1.02M
        constexpr void operator()()
7777
1.02M
        {
7778
1.02M
            arg_id = handler.on_arg_id();
7779
1.02M
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7777
354k
        {
7778
354k
            arg_id = handler.on_arg_id();
7779
354k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
7777
355k
        {
7778
355k
            arg_id = handler.on_arg_id();
7779
355k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7777
159k
        {
7778
159k
            arg_id = handler.on_arg_id();
7779
159k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7777
159k
        {
7778
159k
            arg_id = handler.on_arg_id();
7779
159k
        }
7780
1.02M
        constexpr void operator()(std::size_t id)
7781
1.02M
        {
7782
0
            arg_id = handler.on_arg_id(id);
7783
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7784
7785
1.02M
        constexpr void on_error(const char* msg)
7786
1.02M
        {
7787
0
            SCN_UNLIKELY_ATTR
7788
0
            handler.on_error(msg);
7789
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7790
7791
1.02M
        Handler& handler;
7792
1.02M
        std::size_t arg_id;
7793
1.02M
    };
7794
7795
1.02M
    ++begin;
7796
1.02M
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
1.02M
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
1.02M
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
1.02M
    else {
7808
1.02M
        auto adapter = id_adapter{handler, 0};
7809
1.02M
        begin = parse_arg_id(begin, end, adapter);
7810
7811
1.02M
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
1.02M
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
1.02M
        else if (*begin == CharT{':'}) {
7820
1.02M
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
1.02M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
1.02M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
148k
                handler.on_error("Unknown format specifier");
7827
148k
                return begin;
7828
148k
            }
7829
1.02M
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
1.02M
    }
7836
880k
    return begin + 1;
7837
1.02M
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7774
354k
{
7775
354k
    struct id_adapter {
7776
354k
        constexpr void operator()()
7777
354k
        {
7778
354k
            arg_id = handler.on_arg_id();
7779
354k
        }
7780
354k
        constexpr void operator()(std::size_t id)
7781
354k
        {
7782
354k
            arg_id = handler.on_arg_id(id);
7783
354k
        }
7784
7785
354k
        constexpr void on_error(const char* msg)
7786
354k
        {
7787
354k
            SCN_UNLIKELY_ATTR
7788
354k
            handler.on_error(msg);
7789
354k
        }
7790
7791
354k
        Handler& handler;
7792
354k
        std::size_t arg_id;
7793
354k
    };
7794
7795
354k
    ++begin;
7796
354k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
354k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
354k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
354k
    else {
7808
354k
        auto adapter = id_adapter{handler, 0};
7809
354k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
354k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
354k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
354k
        else if (*begin == CharT{':'}) {
7820
354k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
354k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
354k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
24.7k
                handler.on_error("Unknown format specifier");
7827
24.7k
                return begin;
7828
24.7k
            }
7829
354k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
354k
    }
7836
330k
    return begin + 1;
7837
354k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7774
355k
{
7775
355k
    struct id_adapter {
7776
355k
        constexpr void operator()()
7777
355k
        {
7778
355k
            arg_id = handler.on_arg_id();
7779
355k
        }
7780
355k
        constexpr void operator()(std::size_t id)
7781
355k
        {
7782
355k
            arg_id = handler.on_arg_id(id);
7783
355k
        }
7784
7785
355k
        constexpr void on_error(const char* msg)
7786
355k
        {
7787
355k
            SCN_UNLIKELY_ATTR
7788
355k
            handler.on_error(msg);
7789
355k
        }
7790
7791
355k
        Handler& handler;
7792
355k
        std::size_t arg_id;
7793
355k
    };
7794
7795
355k
    ++begin;
7796
355k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
355k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
355k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
355k
    else {
7808
355k
        auto adapter = id_adapter{handler, 0};
7809
355k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
355k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
355k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
355k
        else if (*begin == CharT{':'}) {
7820
355k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
355k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
355k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
24.7k
                handler.on_error("Unknown format specifier");
7827
24.7k
                return begin;
7828
24.7k
            }
7829
355k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
355k
    }
7836
330k
    return begin + 1;
7837
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7774
159k
{
7775
159k
    struct id_adapter {
7776
159k
        constexpr void operator()()
7777
159k
        {
7778
159k
            arg_id = handler.on_arg_id();
7779
159k
        }
7780
159k
        constexpr void operator()(std::size_t id)
7781
159k
        {
7782
159k
            arg_id = handler.on_arg_id(id);
7783
159k
        }
7784
7785
159k
        constexpr void on_error(const char* msg)
7786
159k
        {
7787
159k
            SCN_UNLIKELY_ATTR
7788
159k
            handler.on_error(msg);
7789
159k
        }
7790
7791
159k
        Handler& handler;
7792
159k
        std::size_t arg_id;
7793
159k
    };
7794
7795
159k
    ++begin;
7796
159k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
159k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
159k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
159k
    else {
7808
159k
        auto adapter = id_adapter{handler, 0};
7809
159k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
159k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
159k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
159k
        else if (*begin == CharT{':'}) {
7820
159k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
159k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
159k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
49.5k
                handler.on_error("Unknown format specifier");
7827
49.5k
                return begin;
7828
49.5k
            }
7829
159k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
159k
    }
7836
109k
    return begin + 1;
7837
159k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7774
159k
{
7775
159k
    struct id_adapter {
7776
159k
        constexpr void operator()()
7777
159k
        {
7778
159k
            arg_id = handler.on_arg_id();
7779
159k
        }
7780
159k
        constexpr void operator()(std::size_t id)
7781
159k
        {
7782
159k
            arg_id = handler.on_arg_id(id);
7783
159k
        }
7784
7785
159k
        constexpr void on_error(const char* msg)
7786
159k
        {
7787
159k
            SCN_UNLIKELY_ATTR
7788
159k
            handler.on_error(msg);
7789
159k
        }
7790
7791
159k
        Handler& handler;
7792
159k
        std::size_t arg_id;
7793
159k
    };
7794
7795
159k
    ++begin;
7796
159k
    if (SCN_UNLIKELY(begin == end)) {
7797
0
        handler.on_error("Unexpected end of replacement field");
7798
0
        return begin;
7799
0
    }
7800
7801
159k
    if (*begin == CharT{'}'}) {
7802
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7803
0
    }
7804
159k
    else if (*begin == CharT{'{'}) {
7805
0
        handler.on_literal_text(begin, begin + 1);
7806
0
    }
7807
159k
    else {
7808
159k
        auto adapter = id_adapter{handler, 0};
7809
159k
        begin = parse_arg_id(begin, end, adapter);
7810
7811
159k
        if (SCN_UNLIKELY(begin == end)) {
7812
0
            handler.on_error("Missing '}' in format string");
7813
0
            return begin;
7814
0
        }
7815
7816
159k
        if (*begin == CharT{'}'}) {
7817
0
            handler.on_replacement_field(adapter.arg_id, begin);
7818
0
        }
7819
159k
        else if (*begin == CharT{':'}) {
7820
159k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7821
0
                handler.on_error("Unexpected end of replacement field");
7822
0
                return begin;
7823
0
            }
7824
159k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7825
159k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7826
49.5k
                handler.on_error("Unknown format specifier");
7827
49.5k
                return begin;
7828
49.5k
            }
7829
159k
        }
7830
0
        else {
7831
0
            SCN_UNLIKELY_ATTR
7832
0
            handler.on_error("Missing '}' in format string");
7833
0
            return begin;
7834
0
        }
7835
159k
    }
7836
109k
    return begin + 1;
7837
159k
}
7838
7839
template <bool IsConstexpr, typename CharT, typename Handler>
7840
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7841
                                        Handler&& handler)
7842
1.02M
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
1.02M
    auto begin = format.data();
7846
1.02M
    auto it = begin;
7847
1.02M
    const auto end = format.data() + format.size();
7848
7849
1.61M
    while (it != end) {
7850
1.02M
        const auto ch = *it++;
7851
1.02M
        if (ch == CharT{'{'}) {
7852
1.02M
            handler.on_literal_text(begin, it - 1);
7853
7854
1.02M
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
1.02M
            if (!handler.get_error()) {
7856
445k
                return;
7857
445k
            }
7858
1.02M
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
1.02M
    }
7869
7870
582k
    handler.on_literal_text(begin, end);
7871
582k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7842
354k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
354k
    auto begin = format.data();
7846
354k
    auto it = begin;
7847
354k
    const auto end = format.data() + format.size();
7848
7849
635k
    while (it != end) {
7850
354k
        const auto ch = *it++;
7851
354k
        if (ch == CharT{'{'}) {
7852
354k
            handler.on_literal_text(begin, it - 1);
7853
7854
354k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
354k
            if (!handler.get_error()) {
7856
74.3k
                return;
7857
74.3k
            }
7858
354k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
354k
    }
7869
7870
280k
    handler.on_literal_text(begin, end);
7871
280k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7842
355k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
355k
    auto begin = format.data();
7846
355k
    auto it = begin;
7847
355k
    const auto end = format.data() + format.size();
7848
7849
636k
    while (it != end) {
7850
355k
        const auto ch = *it++;
7851
355k
        if (ch == CharT{'{'}) {
7852
355k
            handler.on_literal_text(begin, it - 1);
7853
7854
355k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
355k
            if (!handler.get_error()) {
7856
74.3k
                return;
7857
74.3k
            }
7858
355k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
355k
    }
7869
7870
281k
    handler.on_literal_text(begin, end);
7871
281k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7842
159k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
159k
    auto begin = format.data();
7846
159k
    auto it = begin;
7847
159k
    const auto end = format.data() + format.size();
7848
7849
169k
    while (it != end) {
7850
159k
        const auto ch = *it++;
7851
159k
        if (ch == CharT{'{'}) {
7852
159k
            handler.on_literal_text(begin, it - 1);
7853
7854
159k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
159k
            if (!handler.get_error()) {
7856
148k
                return;
7857
148k
            }
7858
159k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
159k
    }
7869
7870
10.6k
    handler.on_literal_text(begin, end);
7871
10.6k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7842
159k
{
7843
    // TODO: memchr fast path with a larger (> 32) format string
7844
7845
159k
    auto begin = format.data();
7846
159k
    auto it = begin;
7847
159k
    const auto end = format.data() + format.size();
7848
7849
169k
    while (it != end) {
7850
159k
        const auto ch = *it++;
7851
159k
        if (ch == CharT{'{'}) {
7852
159k
            handler.on_literal_text(begin, it - 1);
7853
7854
159k
            begin = it = parse_replacement_field(it - 1, end, handler);
7855
159k
            if (!handler.get_error()) {
7856
148k
                return;
7857
148k
            }
7858
159k
        }
7859
0
        else if (ch == CharT{'}'}) {
7860
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7861
0
                handler.on_error("Unmatched '}' in format string");
7862
0
                return;
7863
0
            }
7864
7865
0
            handler.on_literal_text(begin, it);
7866
0
            begin = ++it;
7867
0
        }
7868
159k
    }
7869
7870
10.6k
    handler.on_literal_text(begin, end);
7871
10.6k
}
7872
7873
template <bool IsConstexpr, typename CharT, typename Handler>
7874
constexpr scan_expected<void> parse_format_string(
7875
    std::basic_string_view<CharT> format,
7876
    Handler&& handler)
7877
1.02M
{
7878
1.02M
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
1.02M
    handler.check_args_exhausted();
7880
1.02M
    return handler.get_error();
7881
1.02M
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7877
354k
{
7878
354k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
354k
    handler.check_args_exhausted();
7880
354k
    return handler.get_error();
7881
354k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7877
355k
{
7878
355k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
355k
    handler.check_args_exhausted();
7880
355k
    return handler.get_error();
7881
355k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7877
159k
{
7878
159k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
159k
    handler.check_args_exhausted();
7880
159k
    return handler.get_error();
7881
159k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7877
159k
{
7878
159k
    parse_format_string_impl<IsConstexpr>(format, handler);
7879
159k
    handler.check_args_exhausted();
7880
159k
    return handler.get_error();
7881
159k
}
7882
7883
enum class arg_type_category {
7884
    none,
7885
    integer,
7886
    unsigned_integer,
7887
    floating,
7888
    string,
7889
    pointer,
7890
    boolean,
7891
    character,
7892
    custom
7893
};
7894
7895
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7896
179k
{
7897
179k
    switch (type) {
7898
0
        case arg_type::none_type:
7899
0
            return arg_type_category::none;
7900
7901
29.8k
        case arg_type::schar_type:
7902
29.8k
        case arg_type::short_type:
7903
63.0k
        case arg_type::int_type:
7904
63.0k
        case arg_type::long_type:
7905
96.8k
        case arg_type::llong_type:
7906
96.8k
        case arg_type::int128_type:
7907
96.8k
            return arg_type_category::integer;
7908
7909
26.2k
        case arg_type::uchar_type:
7910
26.2k
        case arg_type::ushort_type:
7911
54.2k
        case arg_type::uint_type:
7912
54.2k
        case arg_type::ulong_type:
7913
82.5k
        case arg_type::ullong_type:
7914
82.5k
        case arg_type::uint128_type:
7915
82.5k
            return arg_type_category::unsigned_integer;
7916
7917
0
        case arg_type::pointer_type:
7918
0
            return arg_type_category::pointer;
7919
0
        case arg_type::bool_type:
7920
0
            return arg_type_category::boolean;
7921
0
        case arg_type::narrow_character_type:
7922
0
        case arg_type::wide_character_type:
7923
0
        case arg_type::code_point_type:
7924
0
            return arg_type_category::character;
7925
7926
0
        case arg_type::float_type:
7927
0
        case arg_type::double_type:
7928
0
        case arg_type::ldouble_type:
7929
0
        case arg_type::float16_type:
7930
0
        case arg_type::float32_type:
7931
0
        case arg_type::float64_type:
7932
0
        case arg_type::float128_type:
7933
0
        case arg_type::bfloat16_type:
7934
0
            return arg_type_category::floating;
7935
7936
0
        case arg_type::narrow_string_type:
7937
0
        case arg_type::wide_string_type:
7938
0
        case arg_type::string_view_type:
7939
0
            return arg_type_category::string;
7940
7941
0
        case arg_type::custom_type:
7942
0
            return arg_type_category::custom;
7943
7944
0
            SCN_CLANG_PUSH
7945
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7946
0
        default:
7947
0
            SCN_ENSURE(false);
7948
179k
            SCN_UNREACHABLE;
7949
179k
            SCN_CLANG_POP
7950
179k
    }
7951
7952
179k
    SCN_UNREACHABLE;
7953
179k
}
7954
7955
template <typename Handler>
7956
class specs_checker : public Handler {
7957
public:
7958
    template <typename H>
7959
    constexpr specs_checker(H&& handler, arg_type type)
7960
1.02M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
1.02M
    {
7962
1.02M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
1.02M
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
354k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
354k
    {
7962
354k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
354k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
355k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
355k
    {
7962
355k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
355k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
159k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
159k
    {
7962
159k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
159k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7960
159k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7961
159k
    {
7962
159k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7963
159k
    }
7964
7965
    constexpr void on_localized()
7966
179k
    {
7967
179k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
179k
        if (cat != arg_type_category::integer &&
7969
179k
            cat != arg_type_category::unsigned_integer &&
7970
179k
            cat != arg_type_category::floating &&
7971
179k
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
179k
        Handler::on_localized();
7979
179k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
7966
64.4k
    {
7967
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
64.4k
        if (cat != arg_type_category::integer &&
7969
64.4k
            cat != arg_type_category::unsigned_integer &&
7970
64.4k
            cat != arg_type_category::floating &&
7971
64.4k
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
64.4k
        Handler::on_localized();
7979
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
Line
Count
Source
7966
64.4k
    {
7967
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
64.4k
        if (cat != arg_type_category::integer &&
7969
64.4k
            cat != arg_type_category::unsigned_integer &&
7970
64.4k
            cat != arg_type_category::floating &&
7971
64.4k
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
64.4k
        Handler::on_localized();
7979
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
7966
25.2k
    {
7967
25.2k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
25.2k
        if (cat != arg_type_category::integer &&
7969
25.2k
            cat != arg_type_category::unsigned_integer &&
7970
25.2k
            cat != arg_type_category::floating &&
7971
25.2k
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
25.2k
        Handler::on_localized();
7979
25.2k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
Line
Count
Source
7966
25.2k
    {
7967
25.2k
        const auto cat = get_category_for_arg_type(m_arg_type);
7968
25.2k
        if (cat != arg_type_category::integer &&
7969
25.2k
            cat != arg_type_category::unsigned_integer &&
7970
25.2k
            cat != arg_type_category::floating &&
7971
25.2k
            cat != arg_type_category::boolean) {
7972
0
            SCN_UNLIKELY_ATTR
7973
            // clang-format off
7974
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7975
            // clang-format on
7976
0
        }
7977
7978
25.2k
        Handler::on_localized();
7979
25.2k
    }
7980
7981
private:
7982
    arg_type m_arg_type;
7983
};
7984
7985
template <typename Handler>
7986
constexpr void check_int_type_specs(const format_specs& specs,
7987
                                    Handler&& handler)
7988
880k
{
7989
880k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7990
0
        return handler.on_error("Invalid type specifier for integer type");
7991
0
    }
7992
880k
    if (specs.localized) {
7993
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7994
            // clang-format off
7995
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7996
            // clang-format on
7997
0
            return;
7998
0
        }
7999
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8000
            // clang-format off
8001
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8002
            // clang-format on
8003
0
        }
8004
179k
    }
8005
880k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7988
880k
{
7989
880k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7990
0
        return handler.on_error("Invalid type specifier for integer type");
7991
0
    }
7992
880k
    if (specs.localized) {
7993
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7994
            // clang-format off
7995
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7996
            // clang-format on
7997
0
            return;
7998
0
        }
7999
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
8000
            // clang-format off
8001
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
8002
            // clang-format on
8003
0
        }
8004
179k
    }
8005
880k
}
8006
8007
template <typename Handler>
8008
constexpr void check_char_type_specs(const format_specs& specs,
8009
                                     Handler&& handler)
8010
0
{
8011
0
    if (specs.type > presentation_type::int_hex ||
8012
0
        specs.type == presentation_type::int_arbitrary_base) {
8013
0
        SCN_UNLIKELY_ATTR
8014
0
        return handler.on_error("Invalid type specifier for character type");
8015
0
    }
8016
0
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8017
8018
template <typename Handler>
8019
constexpr void check_code_point_type_specs(const format_specs& specs,
8020
                                           Handler&& handler)
8021
0
{
8022
0
    if (specs.type != presentation_type::none &&
8023
0
        specs.type != presentation_type::character) {
8024
0
        SCN_UNLIKELY_ATTR
8025
0
        return handler.on_error("Invalid type specifier for code point type");
8026
0
    }
8027
0
}
8028
8029
template <typename Handler>
8030
constexpr void check_float_type_specs(const format_specs& specs,
8031
                                      Handler&& handler)
8032
0
{
8033
0
    if (specs.type != presentation_type::none &&
8034
0
        (specs.type < presentation_type::float_hex ||
8035
0
         specs.type > presentation_type::float_general)) {
8036
0
        SCN_UNLIKELY_ATTR
8037
0
        return handler.on_error("Invalid type specifier for float type");
8038
0
    }
8039
0
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8040
8041
template <typename Handler>
8042
constexpr void check_string_type_specs(const format_specs& specs,
8043
                                       Handler&& handler)
8044
0
{
8045
0
    if (specs.type == presentation_type::none ||
8046
0
        specs.type == presentation_type::string ||
8047
0
        specs.type == presentation_type::string_set ||
8048
0
        specs.type == presentation_type::regex ||
8049
0
        specs.type == presentation_type::regex_escaped) {
8050
0
        return;
8051
0
    }
8052
0
    if (specs.type == presentation_type::character) {
8053
0
        if (SCN_UNLIKELY(specs.precision == 0)) {
8054
            // clang-format off
8055
0
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
8056
            // clang-format on
8057
0
        }
8058
0
        return;
8059
0
    }
8060
0
    SCN_UNLIKELY_ATTR
8061
0
    handler.on_error("Invalid type specifier for string");
8062
0
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8063
8064
template <typename Handler>
8065
constexpr void check_pointer_type_specs(const format_specs& specs,
8066
                                        Handler&& handler)
8067
0
{
8068
0
    if (specs.type != presentation_type::none &&
8069
0
        specs.type != presentation_type::pointer) {
8070
0
        SCN_UNLIKELY_ATTR
8071
0
        return handler.on_error("Invalid type specifier for pointer");
8072
0
    }
8073
0
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8074
8075
template <typename Handler>
8076
constexpr void check_bool_type_specs(const format_specs& specs,
8077
                                     Handler&& handler)
8078
0
{
8079
0
    if (specs.type != presentation_type::none &&
8080
0
        specs.type != presentation_type::string &&
8081
0
        specs.type != presentation_type::int_generic &&
8082
0
        specs.type != presentation_type::int_hex &&
8083
0
        specs.type != presentation_type::int_binary &&
8084
0
        specs.type != presentation_type::int_unsigned_decimal &&
8085
0
        specs.type != presentation_type::int_octal &&
8086
0
        specs.type != presentation_type::int_decimal) {
8087
0
        SCN_UNLIKELY_ATTR
8088
0
        return handler.on_error("Invalid type specifier for boolean");
8089
0
    }
8090
0
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8091
8092
template <typename Handler>
8093
constexpr void check_regex_type_specs(const format_specs& specs,
8094
                                      Handler&& handler)
8095
0
{
8096
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8097
0
                     specs.charset_string_size == 0)) {
8098
        // clang-format off
8099
0
        return handler.on_error("Regular expression needs to be specified when reading regex_matches");
8100
        // clang-format on
8101
0
    }
8102
0
    if (specs.type == presentation_type::regex ||
8103
0
        specs.type == presentation_type::regex_escaped) {
8104
0
        return;
8105
0
    }
8106
0
    SCN_UNLIKELY_ATTR
8107
0
    handler.on_error("Invalid type specifier for regex_matches");
8108
0
}
8109
}  // namespace detail
8110
8111
/**
8112
 * \defgroup format-string Format strings
8113
 *
8114
 * \brief Format string description
8115
 *
8116
 * The format string syntax is heavily influenced by {fmt} and
8117
 * `std::format`, and is largely compatible with it. Scanning functions,
8118
 * such as `scn::scan` and
8119
 * `scn::input`, use the format string syntax described in this section.
8120
 *
8121
 * Format strings consist of:
8122
 *
8123
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8124
 *
8125
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8126
 *    `{{` and `}}`), which consume exactly one identical character from the
8127
 *    input
8128
 *
8129
 *  * Whitespace characters, which consume any and all available consecutive
8130
 *    whitespace from the input.
8131
 *
8132
 * Literal characters are matched by code point one-to-one, with no
8133
 * normalization being done.
8134
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8135
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8136
 *
8137
 * Characters (code points) are considered to be whitespace characters by
8138
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8139
 * These code points are:
8140
 *
8141
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8142
 *  * U+0085 (next line)
8143
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8144
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8145
 *
8146
 * The grammar for a replacement field is as follows:
8147
 *
8148
 * \code
8149
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8150
 * arg-id              ::= positive-integer
8151
 *
8152
 * format-spec         ::= [fill-and-align]
8153
 *                         [width] [precision]
8154
 *                         ['L'] [type]
8155
 * fill-and-align      ::= [fill] align
8156
 * fill                ::= any character other than
8157
 *                         '{' or '}'
8158
 * align               ::= one of '<' '>' '^'
8159
 * width               ::= positive-integer
8160
 * precision           ::= '.' nonnegative-integer
8161
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8162
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8163
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8164
 * \endcode
8165
 *
8166
 * \section arg-ids Argument IDs
8167
 *
8168
 * The `arg-id` specifier can be used to index arguments manually.
8169
 * If manual indexing is used, all of the indices in a format string must be
8170
 * stated explicitly. The same `arg-id` can appear in the format string
8171
 * only once, and must refer to a valid argument.
8172
 *
8173
 * \code{.cpp}
8174
 * // Format string equivalent to "{0} to {1}"
8175
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8176
 * // a->values() == (2, 300)
8177
 *
8178
 * // Manual indexing
8179
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8180
 * // b->values() == (300, 2)
8181
 *
8182
 * // INVALID:
8183
 * // Automatic and manual indexing is mixed
8184
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8185
 *
8186
 * // INVALID:
8187
 * // Same argument is referred to multiple times
8188
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8189
 *
8190
 * // INVALID:
8191
 * // {2} does not refer to an argument
8192
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8193
 * \endcode
8194
 *
8195
 * \section fill-and-align Fill and align
8196
 *
8197
 * Alignment allows for skipping character before and/or after a value.
8198
 * There are three possible values for alignment:
8199
 *
8200
 * <table>
8201
 * <caption id="align-table">
8202
 * Alignment options
8203
 * </caption>
8204
 *
8205
 * <tr><th>Option</th> <th>Meaning</th></tr>
8206
 *
8207
 * <tr>
8208
 * <td>`<`</td>
8209
 * <td>
8210
 * Align the value to the left (skips fill characters after the value)
8211
 * </td>
8212
 * </tr>
8213
 *
8214
 * <tr>
8215
 * <td>`>`</td>
8216
 * <td>
8217
 * Align the value to the right (skips fill characters before the value)
8218
 * </td>
8219
 * </tr>
8220
 *
8221
 * <tr>
8222
 * <td>`^`</td>
8223
 * <td>
8224
 * Align the value to the center
8225
 * (skips fill characters both before and after the value)
8226
 * </td>
8227
 * </tr>
8228
 * </table>
8229
 *
8230
 * The fill character can be any Unicode code point, except for `{` and `}`.
8231
 * The default fill is the space character `' '`.
8232
 *
8233
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8234
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8235
 * the default alignment is `>`.
8236
 * Otherwise, the default alignment is `<`.
8237
 *
8238
 * In addition to the skipping of fill characters,
8239
 * for format type specifiers with the `>` default alignment,
8240
 * preceding whitespace is automatically skipped.
8241
 * This preceding whitespace isn't counted as part of the field width,
8242
 * as described below.
8243
 *
8244
 * The number of fill characters consumed can be controlled with the width and
8245
 * precision specifiers.
8246
 *
8247
 * \section width Width
8248
 *
8249
 * Width specifies the minimum number of characters that will be read from
8250
 * the source range. It can be any unsigned integer. Any fill characters skipped
8251
 * are included in the width
8252
 *
8253
 * For the purposes of width calculation, the same algorithm is used that in
8254
 * {fmt}. Every code point has a width of one, except the following ones
8255
 * have a width of 2:
8256
 *
8257
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8258
 *   Derived Extracted Property as described by UAX#44
8259
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8260
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8261
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8262
 *
8263
 * \section precision Precision
8264
 *
8265
 * Precision specifies the maximum number of characters that will be read from
8266
 * the source range. The method for counting characters is the same as above,
8267
 * with the width field.
8268
 *
8269
 * \section localized Localized
8270
 *
8271
 * The `L` flag enables localized scanning.
8272
 * Its effects are different for each type it is used with:
8273
 *
8274
 *  * For integers, it enables locale-specific thousands separators
8275
 *  * For floating-point numbers, it enables locale-specific thousands and
8276
 *    radix (decimal) separators
8277
 *  * For booleans, it enables locale-specific textual representations (for
8278
 *    `true` and `false`)
8279
 *  * For other types, it has no effect
8280
 *
8281
 * \section type Type specifier
8282
 *
8283
 * The type specifier determines how the data is to be scanned.
8284
 * The type of the argument to be scanned determines what flags are valid.
8285
 *
8286
 * \subsection type-string Type specifier: strings
8287
 *
8288
 * <table>
8289
 * <caption id="type-string-table">
8290
 * String types (`std::basic_string` and `std::basic_string_view`)
8291
 * </caption>
8292
 * <tr><th>Type</th> <th>Meaning</th></tr>
8293
 * <tr>
8294
 * <td>none, `s`</td>
8295
 * <td>
8296
 * Copies from the input until a whitespace character is encountered, or,
8297
 * if using the `<` (left) or `^` (center) alignment,
8298
 * a fill character is encountered.
8299
 * </td>
8300
 * </tr>
8301
 * <tr>
8302
 * <td>`c`</td>
8303
 * <td>
8304
 * Copies from the input until the field width is exhausted.
8305
 * Doesn't skip preceding whitespace.
8306
 * Errors if no field precision is provided.
8307
 * </td>
8308
 * </tr>
8309
 * <tr>
8310
 * <td>`[...]`</td>
8311
 * <td>
8312
 * Character set matching: copies from the input until a character not specified
8313
 * in the set is encountered. Character ranges can be specified with `-`, and
8314
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8315
 * arbitrary Unicode code points.
8316
 * Doesn't skip preceding whitespace.
8317
 * </td>
8318
 * </tr>
8319
 * <tr>
8320
 * <td>`/<regex>/<flags>`</td>
8321
 * <td>
8322
 * Regular expression matching: copies from the input until the input does not
8323
 * match the regex.
8324
 * Doesn't skip preceding whitespace.
8325
 * \see regex
8326
 * </td>
8327
 * </tr>
8328
 * </table>
8329
 *
8330
 * \note `std::basic_string_view` can only be scanned if the source is
8331
 * contiguous.
8332
 *
8333
 * \subsection type-int Type specifier: integers
8334
 *
8335
 * Integer values are scanned as if by using `std::from_chars`,
8336
 * except a positive `+` sign and a base prefix (like `0x`) are always
8337
 * allowed to be present.
8338
 *
8339
 * <table>
8340
 * <caption id="type-int-table">
8341
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8342
 * `int`, `long`, and `long long`)
8343
 * </caption>
8344
 * <tr><th>Type</th> <th>Meaning</th></tr>
8345
 * <tr>
8346
 * <td>`b`, `B`</td>
8347
 * <td>
8348
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8349
 * </td>
8350
 * </tr>
8351
 * <tr>
8352
 * <td>`o`, `O`</td>
8353
 * <td>
8354
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8355
 * `0`.
8356
 * </td>
8357
 * </tr>
8358
 * <tr>
8359
 * <td>`x`, `X`</td>
8360
 * <td>
8361
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8362
 * </td>
8363
 * </tr>
8364
 * <tr>
8365
 * <td>`d`</td>
8366
 * <td>
8367
 * `std::from_chars` with base `10`. No base prefix allowed.
8368
 * </td>
8369
 * </tr>
8370
 * <tr>
8371
 * <td>`u`</td>
8372
 * <td>
8373
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8374
 * </td>
8375
 * </tr>
8376
 * <tr>
8377
 * <td>`i`</td>
8378
 * <td>
8379
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8380
 * </td>
8381
 * </tr>
8382
 * <tr>
8383
 * <td>`rXX` (where XX = [2, 36])</td>
8384
 * <td>
8385
 * Custom base, without a base prefix (r stands for radix).
8386
 * </td>
8387
 * </tr>
8388
 * <tr>
8389
 * <td>`c`</td>
8390
 * <td>
8391
 * Copies a character (code unit) from the input.
8392
 * </td>
8393
 * </tr>
8394
 * <tr>
8395
 * <td>none</td>
8396
 * <td>
8397
 * Same as `d`.
8398
 * </td>
8399
 * </tr>
8400
 * </table>
8401
 *
8402
 * \subsection type-char Type specifier: characters
8403
 *
8404
 * <table>
8405
 * <caption id="type-char-table">
8406
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8407
 * </caption>
8408
 * <tr><th>Type</th> <th>Meaning</th></tr>
8409
 * <tr>
8410
 * <td>none, `c`</td>
8411
 * <td>
8412
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8413
 * input.
8414
 * </td>
8415
 * </tr>
8416
 * <tr>
8417
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8418
 * <td>
8419
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8420
 * </td>
8421
 * </tr>
8422
 * </table>
8423
 *
8424
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8425
 * read a single code unit at a time, and encoding is not respected.
8426
 *
8427
 * \subsection type-float Type specifier: floating-point values
8428
 *
8429
 * Floating-point values are scanned as if by using `std::from_chars`,
8430
 * except a positive `+` sign and a base prefix (like `0x`) are always
8431
 * allowed to be present.
8432
 *
8433
 * <table>
8434
 * <caption id="type-float-table">
8435
 * Floating-point types (`float`, `double`, and `long double`)
8436
 * </caption>
8437
 * <tr><th>Type</th> <th>Meaning</th></tr>
8438
 * <tr>
8439
 * <td>`a`, `A`</td>
8440
 * <td>
8441
 * `std::from_chars` with `std::chars_format::hex`.
8442
 * Prefix `0x`/`0X` is allowed.
8443
 * </td>
8444
 * </tr>
8445
 * <tr>
8446
 * <td>`e`, `E`</td>
8447
 * <td>
8448
 * `std::from_chars` with `std::chars_format::scientific`.
8449
 * </td>
8450
 * </tr>
8451
 * <tr>
8452
 * <td>`f`, `F`</td>
8453
 * <td>
8454
 * `std::from_chars` with `std::chars_format::fixed`.
8455
 * </td>
8456
 * </tr>
8457
 * <tr>
8458
 * <td>`g`, `G`</td>
8459
 * <td>
8460
 * `std::from_chars` with `std::chars_format::general`.
8461
 * </td>
8462
 * </tr>
8463
 * <tr>
8464
 * <td>none</td>
8465
 * <td>
8466
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8467
 * Prefix `0x`/`0X` is allowed.
8468
 * </td>
8469
 * </tr>
8470
 * </table>
8471
 *
8472
 * \subsection type-bool Type specifier: booleans
8473
 *
8474
 * <table>
8475
 * <caption id="type-bool-table">
8476
 * `bool`
8477
 * </caption>
8478
 * <tr><th>Type</th> <th>Meaning</th></tr>
8479
 * <tr>
8480
 * <td>`s`</td>
8481
 * <td>
8482
 * Allows for the textual representation (`true` or `false`).
8483
 * </td>
8484
 * </tr>
8485
 * <tr>
8486
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8487
 * <td>
8488
 * Allows for the integral/numeric representation (`0` or `1`).
8489
 * </td>
8490
 * </tr>
8491
 * <tr>
8492
 * <td>none</td>
8493
 * <td>
8494
 * Allows for both the textual and the integral/numeric representation.
8495
 * </td>
8496
 * </tr>
8497
 * </table>
8498
 */
8499
8500
namespace detail {
8501
/**
8502
 * A runtime format string
8503
 *
8504
 * \ingroup format-string
8505
 */
8506
template <typename CharT>
8507
struct basic_runtime_format_string {
8508
1.18M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8508
836k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8508
352k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8509
8510
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8511
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8512
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8513
        delete;
8514
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8515
        delete;
8516
    ~basic_runtime_format_string() = default;
8517
8518
    std::basic_string_view<CharT> str;
8519
};
8520
}  // namespace detail
8521
8522
/**
8523
 * Create a runtime format string
8524
 *
8525
 * Can be used to avoid compile-time format string checking
8526
 *
8527
 * \ingroup format-string
8528
 */
8529
inline detail::basic_runtime_format_string<char> runtime_format(
8530
    std::string_view s)
8531
836k
{
8532
836k
    return s;
8533
836k
}
8534
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8535
    std::wstring_view s)
8536
352k
{
8537
352k
    return s;
8538
352k
}
8539
8540
namespace detail {
8541
struct compile_string {};
8542
8543
template <typename Str>
8544
inline constexpr bool is_compile_string_v =
8545
    std::is_base_of_v<compile_string, Str>;
8546
8547
template <typename Scanner, typename ParseCtx>
8548
using dt_scanner_parse =
8549
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8550
template <typename Scanner, typename T, typename Ctx>
8551
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8552
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8553
8554
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8555
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8556
    ParseCtx& parse_ctx)
8557
{
8558
    static_assert(
8559
        std::is_default_constructible_v<Scanner>,
8560
        "Specializations of scn::scanner must be default constructible");
8561
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8562
                  "Specializations of scn::scanner must have a "
8563
                  "parse(ParseContext&) member function.");
8564
    static_assert(
8565
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8566
                       typename ParseCtx::iterator>,
8567
        "scn::scanner::parse(ParseContext&) must return "
8568
        "ParseContext::iterator. To report an error from scanner::parse, "
8569
        "either throw an exception derived from scn::scan_format_string_error, "
8570
        "or call ParseContext::on_error.");
8571
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8572
                  "Specializations of scn::scanner must have a "
8573
                  "scan(T&, Context&) const member function.");
8574
    static_assert(
8575
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8576
                       scan_expected<typename Ctx::iterator>>,
8577
        "scn::scanner::scan(T&, Context&) must return "
8578
        "scan_expected<Context::iterator>.");
8579
8580
    auto s = Scanner{};
8581
    return s.parse(parse_ctx);
8582
}
8583
8584
template <typename T, typename Ctx, typename ParseCtx>
8585
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8586
{
8587
    using char_type = typename Ctx::char_type;
8588
    using map_result =
8589
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8590
            SCN_DECLVAL(T&)))>;
8591
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8592
        // Error will be reported by static_assert in make_value(),
8593
        // let's not muddy the compiler error by making more of them.
8594
        return parse_ctx.begin();
8595
    }
8596
    else {
8597
        using mapped_type =
8598
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8599
                                   arg_type::custom_type,
8600
                               map_result, T>;
8601
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8602
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8603
            parse_ctx);
8604
    }
8605
}
8606
8607
template <typename CharT, typename Source, typename... Args>
8608
class format_string_checker {
8609
public:
8610
    using parse_context_type = compile_parse_context<CharT>;
8611
    static constexpr auto num_args = sizeof...(Args);
8612
8613
    explicit constexpr format_string_checker(
8614
        std::basic_string_view<CharT> format_str)
8615
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8616
          m_parse_funcs{&parse_format_specs<Args,
8617
                                            default_context<CharT>,
8618
                                            parse_context_type>...},
8619
          m_types{arg_type_constant<Args, CharT>::value...}
8620
    {
8621
    }
8622
8623
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8624
    {
8625
        // TODO: Do we want to validate Unicode in format strings?
8626
        // We're dealing with text, so we probably do.
8627
        // We could do codeunit-to-codeunit matching,
8628
        // but that could get messy wrt. whitespace matching.
8629
        // It's simpler to not allow nonsense.
8630
        while (begin != end) {
8631
            const auto len = code_point_length_by_starting_code_unit(*begin);
8632
            if (SCN_UNLIKELY(len == 0 ||
8633
                             static_cast<size_t>(end - begin) < len)) {
8634
                return on_error("Invalid encoding in format string");
8635
            }
8636
8637
            const auto cp = decode_code_point_exhaustive(
8638
                std::basic_string_view<CharT>{begin, len});
8639
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8640
                return on_error("Invalid encoding in format string");
8641
            }
8642
8643
            begin += len;
8644
        }
8645
    }
8646
8647
    constexpr auto on_arg_id()
8648
    {
8649
        return m_parse_context.next_arg_id();
8650
    }
8651
    constexpr auto on_arg_id(std::size_t id)
8652
    {
8653
        m_parse_context.check_arg_id(id);
8654
        return id;
8655
    }
8656
8657
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8658
    {
8659
        set_arg_as_read(id);
8660
8661
        auto type = m_types[id];
8662
        check_arg_can_be_read(type);
8663
8664
        if (type == arg_type::custom_type && id < num_args) {
8665
            // Only call scanner::parse to check for errors,
8666
            // we're discarding the result.
8667
            // The advance_to dance is done to point the parse context to the
8668
            // character after the `{`; right now, it points to that
8669
            const auto beg = begin;
8670
            m_parse_context.advance_to(begin);
8671
            m_parse_funcs[id](m_parse_context);
8672
            m_parse_context.advance_to(beg);
8673
        }
8674
    }
8675
8676
    constexpr const CharT* on_format_specs(std::size_t id,
8677
                                           const CharT* begin,
8678
                                           const CharT*)
8679
    {
8680
        set_arg_as_read(id);
8681
        check_arg_can_be_read(m_types[id]);
8682
8683
        m_parse_context.advance_to(begin);
8684
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8685
    }
8686
8687
    constexpr void check_args_exhausted()
8688
    {
8689
        if constexpr (num_args == 0) {
8690
            return;
8691
        }
8692
        for (auto is_set : m_visited_args) {
8693
            if (!is_set) {
8694
                return on_error("Argument list not exhausted");
8695
            }
8696
        }
8697
    }
8698
8699
    void on_error(const char* msg)
8700
    {
8701
        SCN_UNLIKELY_ATTR
8702
        m_parse_context.on_error(msg);
8703
    }
8704
8705
    // Only to satisfy the concept and eliminate compiler errors,
8706
    // because errors are reported by failing to compile on_error above
8707
    // (it's not constexpr)
8708
    constexpr scan_expected<void> get_error() const
8709
    {
8710
        return {};
8711
    }
8712
8713
private:
8714
    constexpr void set_arg_as_read(size_t id)
8715
    {
8716
        if (id >= num_args) {
8717
            return on_error("Invalid out-of-range argument ID");
8718
        }
8719
        if (m_visited_args[id]) {
8720
            return on_error("Argument with this ID already scanned");
8721
        }
8722
        m_visited_args[id] = true;
8723
    }
8724
8725
    constexpr void check_arg_can_be_read(arg_type type)
8726
    {
8727
        if (type == arg_type::string_view_type &&
8728
            !m_parse_context.is_source_contiguous()) {
8729
            // clang-format off
8730
            return on_error("Cannot read a string_view from a non-contiguous source");
8731
            // clang-format on
8732
        }
8733
        if (type == arg_type::string_view_type &&
8734
            !m_parse_context.is_source_borrowed()) {
8735
            // clang-format off
8736
            return on_error("Cannot read a string_view from a non-borrowed source");
8737
            // clang-format on
8738
        }
8739
    }
8740
8741
    using parse_func = const CharT* (*)(parse_context_type&);
8742
8743
    parse_context_type m_parse_context;
8744
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8745
    arg_type m_types[num_args > 0 ? num_args : 1];
8746
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8747
};
8748
8749
template <typename Source, typename... Args, typename Str>
8750
constexpr auto check_format_string(const Str&)
8751
    -> std::enable_if_t<!is_compile_string_v<Str>>
8752
0
{
8753
    // TODO: SCN_ENFORE_COMPILE_STRING?
8754
#if 0  // SCN_ENFORE_COMPILE_STRING
8755
    static_assert(dependent_false<Str>::value,
8756
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8757
              "strings to use SCN_STRING.");
8758
#endif
8759
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8760
8761
template <typename Source, typename... Args, typename Str>
8762
constexpr auto check_format_string(Str format_str)
8763
    -> std::enable_if_t<is_compile_string_v<Str>>
8764
{
8765
    using char_type = typename Str::char_type;
8766
8767
    SCN_GCC_PUSH
8768
    SCN_GCC_IGNORE("-Wconversion")
8769
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8770
    SCN_GCC_POP
8771
8772
    using checker = format_string_checker<char_type, Source, Args...>;
8773
    constexpr bool invalid_format =
8774
        (parse_format_string<true>(s, checker(s)), true);
8775
    SCN_UNUSED(invalid_format);
8776
}
8777
8778
template <typename CharT, std::size_t N>
8779
constexpr std::basic_string_view<CharT> compile_string_to_view(
8780
    const CharT (&s)[N])
8781
{
8782
    return {s, N - 1};
8783
}
8784
template <typename CharT>
8785
constexpr std::basic_string_view<CharT> compile_string_to_view(
8786
    std::basic_string_view<CharT> s)
8787
{
8788
    return s;
8789
}
8790
}  // namespace detail
8791
8792
#define SCN_STRING_IMPL(s, base, expl)                                       \
8793
    [] {                                                                     \
8794
        struct SCN_COMPILE_STRING : base {                                   \
8795
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8796
            SCN_MAYBE_UNUSED constexpr expl                                  \
8797
            operator ::std::basic_string_view<char_type>() const             \
8798
            {                                                                \
8799
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8800
            }                                                                \
8801
        };                                                                   \
8802
        return SCN_COMPILE_STRING{};                                         \
8803
    }()
8804
8805
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8806
8807
/**
8808
 * Compile-time format string
8809
 *
8810
 * \ingroup format-string
8811
 */
8812
template <typename CharT, typename Source, typename... Args>
8813
class basic_scan_format_string {
8814
public:
8815
    SCN_CLANG_PUSH
8816
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8817
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8818
#endif
8819
    template <
8820
        typename S,
8821
        std::enable_if_t<
8822
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8823
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8824
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8825
0
    {
8826
#if SCN_HAS_CONSTEVAL
8827
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8828
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8829
        SCN_UNUSED(e);
8830
#else
8831
0
        detail::check_format_string<Source, Args...>(s);
8832
0
#endif
8833
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8834
    SCN_CLANG_POP
8835
8836
    template <
8837
        typename OtherSource,
8838
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8839
                                        detail::remove_cvref_t<OtherSource>> &&
8840
                         ranges::borrowed_range<Source> ==
8841
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8842
    constexpr basic_scan_format_string(
8843
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8844
        : m_str(other.get())
8845
    {
8846
    }
8847
8848
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8849
1.18M
        : m_str(r.str)
8850
1.18M
    {
8851
1.18M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
67.9k
        : m_str(r.str)
8850
67.9k
    {
8851
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
59.8k
        : m_str(r.str)
8850
59.8k
    {
8851
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
79.5k
        : m_str(r.str)
8850
79.5k
    {
8851
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
64.8k
        : m_str(r.str)
8850
64.8k
    {
8851
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
80.8k
        : m_str(r.str)
8850
80.8k
    {
8851
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
65.5k
        : m_str(r.str)
8850
65.5k
    {
8851
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
67.9k
        : m_str(r.str)
8850
67.9k
    {
8851
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
59.8k
        : m_str(r.str)
8850
59.8k
    {
8851
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
79.2k
        : m_str(r.str)
8850
79.2k
    {
8851
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
64.9k
        : m_str(r.str)
8850
64.9k
    {
8851
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
80.6k
        : m_str(r.str)
8850
80.6k
    {
8851
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8849
65.6k
        : m_str(r.str)
8850
65.6k
    {
8851
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.3k
        : m_str(r.str)
8850
29.3k
    {
8851
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.2k
        : m_str(r.str)
8850
29.2k
    {
8851
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.4k
        : m_str(r.str)
8850
29.4k
    {
8851
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.3k
        : m_str(r.str)
8850
29.3k
    {
8851
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.5k
        : m_str(r.str)
8850
29.5k
    {
8851
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.4k
        : m_str(r.str)
8850
29.4k
    {
8851
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.3k
        : m_str(r.str)
8850
29.3k
    {
8851
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.2k
        : m_str(r.str)
8850
29.2k
    {
8851
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.4k
        : m_str(r.str)
8850
29.4k
    {
8851
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.3k
        : m_str(r.str)
8850
29.3k
    {
8851
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.5k
        : m_str(r.str)
8850
29.5k
    {
8851
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8849
29.4k
        : m_str(r.str)
8850
29.4k
    {
8851
29.4k
    }
8852
8853
    constexpr operator std::basic_string_view<CharT>() const
8854
1.18M
    {
8855
1.18M
        return m_str;
8856
1.18M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
67.9k
    {
8855
67.9k
        return m_str;
8856
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
59.8k
    {
8855
59.8k
        return m_str;
8856
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
79.5k
    {
8855
79.5k
        return m_str;
8856
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
64.8k
    {
8855
64.8k
        return m_str;
8856
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
80.8k
    {
8855
80.8k
        return m_str;
8856
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
65.5k
    {
8855
65.5k
        return m_str;
8856
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
67.9k
    {
8855
67.9k
        return m_str;
8856
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
59.8k
    {
8855
59.8k
        return m_str;
8856
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
79.2k
    {
8855
79.2k
        return m_str;
8856
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
64.9k
    {
8855
64.9k
        return m_str;
8856
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
80.6k
    {
8855
80.6k
        return m_str;
8856
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8854
65.6k
    {
8855
65.6k
        return m_str;
8856
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.3k
    {
8855
29.3k
        return m_str;
8856
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.2k
    {
8855
29.2k
        return m_str;
8856
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.4k
    {
8855
29.4k
        return m_str;
8856
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.3k
    {
8855
29.3k
        return m_str;
8856
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.5k
    {
8855
29.5k
        return m_str;
8856
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.4k
    {
8855
29.4k
        return m_str;
8856
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.3k
    {
8855
29.3k
        return m_str;
8856
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.2k
    {
8855
29.2k
        return m_str;
8856
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.4k
    {
8855
29.4k
        return m_str;
8856
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.3k
    {
8855
29.3k
        return m_str;
8856
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.5k
    {
8855
29.5k
        return m_str;
8856
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8854
29.4k
    {
8855
29.4k
        return m_str;
8856
29.4k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8857
    constexpr std::basic_string_view<CharT> get() const
8858
    {
8859
        return m_str;
8860
    }
8861
8862
private:
8863
    std::basic_string_view<CharT> m_str;
8864
};
8865
8866
namespace detail {
8867
class locale_ref {
8868
#if !SCN_DISABLE_LOCALE
8869
public:
8870
835k
    constexpr locale_ref() = default;
8871
8872
    template <typename Locale>
8873
    explicit locale_ref(const Locale& loc);
8874
8875
    constexpr explicit operator bool() const noexcept
8876
0
    {
8877
0
        return m_locale != nullptr;
8878
0
    }
8879
8880
    template <typename Locale>
8881
    Locale get() const;
8882
8883
private:
8884
    const void* m_locale{nullptr};
8885
#else
8886
public:
8887
    constexpr locale_ref() = default;
8888
8889
    template <typename T>
8890
    constexpr explicit locale_ref(T&&)
8891
    {
8892
    }
8893
8894
    constexpr explicit operator bool() const noexcept
8895
    {
8896
        return true;
8897
    }
8898
#endif
8899
};
8900
}  // namespace detail
8901
8902
/////////////////////////////////////////////////////////////////
8903
// scan_context
8904
/////////////////////////////////////////////////////////////////
8905
8906
namespace detail {
8907
template <typename I>
8908
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8909
template <typename I>
8910
inline constexpr bool is_comparable_with_nullptr =
8911
    mp_valid_v<apply_cmp_with_nullptr, I>;
8912
8913
template <typename Args>
8914
class scan_context_base {
8915
public:
8916
    /// Get argument at index `id`
8917
    constexpr auto arg(size_t id) const noexcept
8918
1.02M
    {
8919
1.02M
        return m_args.get(id);
8920
1.02M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8918
710k
    {
8919
710k
        return m_args.get(id);
8920
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8918
318k
    {
8919
318k
        return m_args.get(id);
8920
318k
    }
8921
8922
    constexpr const Args& args() const
8923
0
    {
8924
0
        return m_args;
8925
0
    }
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
8926
8927
    SCN_NODISCARD constexpr locale_ref locale() const
8928
880k
    {
8929
880k
        return m_locale;
8930
880k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8928
660k
    {
8929
660k
        return m_locale;
8930
660k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8928
219k
    {
8929
219k
        return m_locale;
8930
219k
    }
8931
8932
protected:
8933
    scan_context_base(Args args, locale_ref loc)
8934
1.02M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
1.02M
    {
8936
1.02M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
710k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
710k
    {
8936
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8934
318k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8935
318k
    {
8936
318k
    }
8937
8938
    Args m_args;
8939
    locale_ref m_locale;
8940
};
8941
}  // namespace detail
8942
8943
/**
8944
 * \defgroup ctx Contexts and scanners
8945
 *
8946
 * \brief Lower-level APIs used for scanning individual values
8947
 *
8948
 * \section user-defined Scanning user-defined types
8949
 *
8950
 * User-defined types can be scanned by specializing the class template
8951
 * `scn::scanner`.
8952
 *
8953
 * \code{.cpp}
8954
 * struct mytype {
8955
 *   int key;
8956
 *   std::string value;
8957
 * };
8958
 *
8959
 * template <>
8960
 * struct scn::scanner<mytype> {
8961
 *   template <typename ParseContext>
8962
 *   constexpr auto parse(ParseCtx& pctx)
8963
 *     -> typename ParseContext::iterator {
8964
 *     // parse() implementation just returning begin():
8965
 *     // only permits empty format specifiers
8966
 *     return pctx.begin();
8967
 *   }
8968
 *
8969
 *   template <typename Context>
8970
 *   auto scan(mytype& val, Context& ctx)
8971
 *     -> scan_expected<typename Context::iterator> {
8972
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8973
 *       .transform([&](auto result) {
8974
 *         std::tie(val.key, val.value) = std::move(result->values());
8975
 *         return result.begin();
8976
 *       });
8977
 *   }
8978
 * };
8979
 * \endcode
8980
 *
8981
 * See also
8982
 * \ref g-usertypes
8983
 */
8984
8985
/**
8986
 * Scanning context.
8987
 *
8988
 * \ingroup ctx
8989
 */
8990
template <typename Range, typename CharT>
8991
class basic_scan_context
8992
    : public detail::scan_context_base<
8993
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8994
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8995
8996
    using args_type = basic_scan_args<basic_scan_context>;
8997
    using arg_type = basic_scan_arg<basic_scan_context>;
8998
8999
public:
9000
    /// Character type of the input
9001
    using char_type = CharT;
9002
    using range_type = std::conditional_t<
9003
        std::is_same_v<Range, detail::buffer_range_tag>,
9004
        typename detail::basic_scan_buffer<char_type>::range_type,
9005
        Range>;
9006
    using iterator = ranges::iterator_t<range_type>;
9007
    using sentinel = ranges::sentinel_t<range_type>;
9008
    using parse_context_type = basic_scan_parse_context<char_type>;
9009
9010
    /**
9011
     * The scanner type associated with this scanning context.
9012
     */
9013
    template <typename T>
9014
    using scanner_type = scanner<T, char_type>;
9015
9016
    constexpr basic_scan_context(iterator curr,
9017
                                 args_type a,
9018
                                 detail::locale_ref loc = {})
9019
514k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
514k
    {
9021
514k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
9019
355k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
355k
    {
9021
355k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
9019
159k
        : base(SCN_MOVE(a), loc), m_current(curr)
9020
159k
    {
9021
159k
    }
9022
9023
    basic_scan_context(const basic_scan_context&) = delete;
9024
    basic_scan_context& operator=(const basic_scan_context&) = delete;
9025
9026
    basic_scan_context(basic_scan_context&&) = default;
9027
    basic_scan_context& operator=(basic_scan_context&&) = default;
9028
    ~basic_scan_context() = default;
9029
9030
    /**
9031
     * Returns an iterator pointing to the current position in the source
9032
     * range.
9033
     */
9034
    constexpr iterator begin() const
9035
1.24M
    {
9036
1.24M
        return m_current;
9037
1.24M
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Line
Count
Source
9035
967k
    {
9036
967k
        return m_current;
9037
967k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
Line
Count
Source
9035
279k
    {
9036
279k
        return m_current;
9037
279k
    }
9038
9039
    /**
9040
     * Returns a sentinel pointing to the end of the source range.
9041
     */
9042
    constexpr sentinel end() const
9043
440k
    {
9044
440k
        return ranges::default_sentinel;
9045
440k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Line
Count
Source
9043
330k
    {
9044
330k
        return ranges::default_sentinel;
9045
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
Line
Count
Source
9043
109k
    {
9044
109k
        return ranges::default_sentinel;
9045
109k
    }
9046
9047
    /**
9048
     * Returns a subrange over `[begin(), end())`
9049
     */
9050
    constexpr auto range() const
9051
440k
    {
9052
440k
        return ranges::subrange{begin(), end()};
9053
440k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Line
Count
Source
9051
330k
    {
9052
330k
        return ranges::subrange{begin(), end()};
9053
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
Line
Count
Source
9051
109k
    {
9052
109k
        return ranges::subrange{begin(), end()};
9053
109k
    }
9054
9055
    /// Advances the beginning of the source range to `it`
9056
    void advance_to(iterator it)
9057
291k
    {
9058
291k
        m_current = SCN_MOVE(it);
9059
291k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
9057
281k
    {
9058
281k
        m_current = SCN_MOVE(it);
9059
281k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
9057
10.6k
    {
9058
10.6k
        m_current = SCN_MOVE(it);
9059
10.6k
    }
9060
9061
private:
9062
    iterator m_current;
9063
};
9064
9065
namespace detail {
9066
template <typename T, typename ParseCtx>
9067
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9068
    ParseCtx& pctx,
9069
    format_specs& specs);
9070
9071
template <typename T, typename Context>
9072
scan_expected<typename Context::iterator>
9073
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9074
9075
template <typename T, typename CharT>
9076
struct builtin_scanner {
9077
    template <typename ParseCtx>
9078
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9079
    {
9080
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9081
    }
9082
9083
    template <typename Context>
9084
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9085
    {
9086
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9087
    }
9088
9089
protected:
9090
    format_specs m_specs;
9091
};
9092
}  // namespace detail
9093
9094
/////////////////////////////////////////////////////////////////
9095
// scanner
9096
/////////////////////////////////////////////////////////////////
9097
9098
/**
9099
 * `scanner` specialization for all built-in types
9100
 *
9101
 * \ingroup ctx
9102
 */
9103
template <typename T, typename CharT>
9104
struct scanner<T,
9105
               CharT,
9106
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9107
                                    detail::arg_type::custom_type &&
9108
                                !detail::is_type_disabled<T>>>
9109
    : detail::builtin_scanner<T, CharT> {};
9110
9111
namespace detail {
9112
template <typename T, typename ParseCtx>
9113
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9114
    ParseCtx& pctx,
9115
    format_specs& specs)
9116
{
9117
    using char_type = typename ParseCtx::char_type;
9118
9119
    auto begin = pctx.begin();
9120
    const auto end = pctx.end();
9121
9122
    using handler_type = specs_setter;
9123
    constexpr auto type = arg_type_constant<T, char_type>::value;
9124
    auto checker =
9125
        detail::specs_checker<handler_type>(handler_type(specs), type);
9126
9127
    const auto it =
9128
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9129
9130
    switch (type) {
9131
        case arg_type::none_type:
9132
            SCN_FALLTHROUGH;
9133
        case arg_type::custom_type:
9134
            SCN_ENSURE(false);
9135
            break;
9136
9137
        case arg_type::bool_type:
9138
            check_bool_type_specs(specs, checker);
9139
            break;
9140
9141
        case arg_type::schar_type:
9142
        case arg_type::short_type:
9143
        case arg_type::int_type:
9144
        case arg_type::long_type:
9145
        case arg_type::llong_type:
9146
        case arg_type::int128_type:
9147
        case arg_type::uchar_type:
9148
        case arg_type::ushort_type:
9149
        case arg_type::uint_type:
9150
        case arg_type::ulong_type:
9151
        case arg_type::ullong_type:
9152
        case arg_type::uint128_type:
9153
            check_int_type_specs(specs, checker);
9154
            break;
9155
9156
        case arg_type::narrow_character_type:
9157
        case arg_type::wide_character_type:
9158
        case arg_type::code_point_type:
9159
            check_char_type_specs(specs, checker);
9160
            break;
9161
9162
        case arg_type::float_type:
9163
        case arg_type::double_type:
9164
        case arg_type::ldouble_type:
9165
        case arg_type::float16_type:
9166
        case arg_type::float32_type:
9167
        case arg_type::float64_type:
9168
        case arg_type::float128_type:
9169
        case arg_type::bfloat16_type:
9170
            check_float_type_specs(specs, checker);
9171
            break;
9172
9173
        case arg_type::narrow_string_type:
9174
        case arg_type::wide_string_type:
9175
        case arg_type::string_view_type:
9176
            check_string_type_specs(specs, checker);
9177
            break;
9178
9179
        case arg_type::pointer_type:
9180
            check_pointer_type_specs(specs, checker);
9181
            break;
9182
9183
            SCN_CLANG_PUSH
9184
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9185
9186
        default:
9187
            SCN_ENSURE(false);
9188
            SCN_UNREACHABLE;
9189
9190
            SCN_CLANG_POP
9191
    }
9192
9193
    if (specs.type == presentation_type::regex ||
9194
        specs.type == presentation_type::regex_escaped) {
9195
        if (!pctx.is_source_contiguous()) {
9196
            SCN_UNLIKELY_ATTR
9197
            // clang-format off
9198
            checker.on_error("Cannot read a regex from a non-contiguous source");
9199
            // clang-format on
9200
        }
9201
        if (!pctx.is_source_borrowed()) {
9202
            SCN_UNLIKELY_ATTR
9203
            checker.on_error("Cannot read a regex from a non-borrowed source");
9204
        }
9205
    }
9206
9207
    return it;
9208
}
9209
}  // namespace detail
9210
9211
/**
9212
 * Type for discarding any scanned value.
9213
 * Example:
9214
 *
9215
 * \code{.cpp}
9216
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9217
 * // r.has_value() == true
9218
 * // decltype(r->value()) is scn::discard<int>
9219
 * \endcode
9220
 *
9221
 * \ingroup format-string
9222
 */
9223
template <typename T>
9224
struct discard {
9225
    constexpr discard() = default;
9226
9227
    constexpr discard(const T&) noexcept {}
9228
    constexpr discard(T&&) noexcept {}
9229
9230
    constexpr discard& operator=(const T&) noexcept
9231
    {
9232
        return *this;
9233
    }
9234
    constexpr discard& operator=(T&&) noexcept
9235
    {
9236
        return *this;
9237
    }
9238
};
9239
9240
template <typename T, typename CharT>
9241
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9242
    template <typename Context>
9243
    auto scan(discard<T>&, Context& ctx) const
9244
    {
9245
        T val{};
9246
        return scanner<T, CharT>::scan(val, ctx);
9247
    }
9248
};
9249
9250
namespace detail {
9251
template <typename Range>
9252
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9253
    Range r,
9254
    bool allow_exhaustion);
9255
9256
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9257
    extern template scan_expected<Context::iterator>         \
9258
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9259
9260
#if SCN_HAS_INT128
9261
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9262
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9263
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9264
#else
9265
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9266
#endif
9267
9268
#if SCN_HAS_STD_F16
9269
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) \
9270
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float16_t, Context)
9271
#else
9272
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context) /* std::float16_t */
9273
#endif
9274
9275
#if SCN_HAS_STD_F32
9276
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) \
9277
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float32_t, Context)
9278
#else
9279
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context) /* std::float32_t */
9280
#endif
9281
9282
#if SCN_HAS_STD_F64
9283
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) \
9284
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float64_t, Context)
9285
#else
9286
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context) /* std::float64_t */
9287
#endif
9288
9289
#if SCN_HAS_STD_F128
9290
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context) \
9291
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::float128_t, Context)
9292
#else
9293
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)  /* std::float128_t \
9294
                                                            */
9295
#endif
9296
9297
#if SCN_HAS_STD_BF16
9298
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context) \
9299
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::bfloat16_t, Context)
9300
#else
9301
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)  /* std::bfloat16_t \
9302
                                                            */
9303
#endif
9304
9305
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context) \
9306
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F16(Context)           \
9307
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F32(Context)           \
9308
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F64(Context)           \
9309
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_F128(Context)          \
9310
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_BF16(Context)
9311
9312
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9313
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9314
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9315
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9316
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9317
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9318
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9319
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9320
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9321
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9322
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9323
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9324
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9325
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9326
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9327
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9328
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9329
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9330
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9331
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9332
        std::basic_string_view<Context::char_type>, Context)               \
9333
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9334
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9335
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9336
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_EXT_FLOAT(Context)                 \
9337
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9338
    internal_skip_classic_whitespace(Context::range_type, bool);
9339
9340
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9341
9342
}  // namespace detail
9343
9344
/////////////////////////////////////////////////////////////////
9345
// visit_scan_arg
9346
/////////////////////////////////////////////////////////////////
9347
9348
namespace detail {
9349
9350
template <typename Visitor, typename Ctx>
9351
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9352
1.12M
{
9353
1.12M
#define SCN_VISIT(Type)                                                \
9354
16.9M
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
16.9M
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
16.9M
    }                                                                  \
9357
16.9M
    else {                                                             \
9358
16.9M
        return vis(monostate_val);                                     \
9359
16.9M
    }
9360
9361
1.12M
    monostate monostate_val{};
9362
9363
1.12M
    switch (get_arg_type(arg)) {
9364
183k
        case detail::arg_type::schar_type:
9365
183k
            SCN_VISIT(signed char);
9366
183k
        case detail::arg_type::short_type:
9367
183k
            SCN_VISIT(short);
9368
390k
        case detail::arg_type::int_type:
9369
390k
            SCN_VISIT(int);
9370
390k
        case detail::arg_type::long_type:
9371
390k
            SCN_VISIT(long);
9372
601k
        case detail::arg_type::llong_type:
9373
601k
            SCN_VISIT(long long);
9374
601k
        case detail::arg_type::int128_type:
9375
601k
#if SCN_HAS_INT128
9376
601k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
766k
        case detail::arg_type::uchar_type:
9381
766k
            SCN_VISIT(unsigned char);
9382
766k
        case detail::arg_type::ushort_type:
9383
766k
            SCN_VISIT(unsigned short);
9384
942k
        case detail::arg_type::uint_type:
9385
942k
            SCN_VISIT(unsigned);
9386
942k
        case detail::arg_type::ulong_type:
9387
942k
            SCN_VISIT(unsigned long);
9388
1.12M
        case detail::arg_type::ullong_type:
9389
1.12M
            SCN_VISIT(unsigned long long);
9390
1.12M
        case detail::arg_type::uint128_type:
9391
1.12M
#if SCN_HAS_INT128
9392
1.12M
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
1.12M
        case detail::arg_type::pointer_type:
9397
1.12M
            SCN_VISIT(void*);
9398
1.12M
        case detail::arg_type::bool_type:
9399
1.12M
            SCN_VISIT(bool);
9400
1.12M
        case detail::arg_type::narrow_character_type:
9401
1.12M
            SCN_VISIT(char);
9402
1.12M
        case detail::arg_type::wide_character_type:
9403
1.12M
            SCN_VISIT(wchar_t);
9404
1.12M
        case detail::arg_type::code_point_type:
9405
1.12M
            SCN_VISIT(char32_t);
9406
1.12M
        case detail::arg_type::float_type:
9407
1.12M
            SCN_VISIT(float);
9408
1.12M
        case detail::arg_type::double_type:
9409
1.12M
            SCN_VISIT(double);
9410
1.12M
        case detail::arg_type::ldouble_type:
9411
1.12M
            SCN_VISIT(long double);
9412
1.12M
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
1.12M
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
1.12M
            SCN_CLANG_POP
9473
1.12M
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
95.4k
{
9353
95.4k
#define SCN_VISIT(Type)                                                \
9354
95.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
95.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
95.4k
    }                                                                  \
9357
95.4k
    else {                                                             \
9358
95.4k
        return vis(monostate_val);                                     \
9359
95.4k
    }
9360
9361
95.4k
    monostate monostate_val{};
9362
9363
95.4k
    switch (get_arg_type(arg)) {
9364
15.8k
        case detail::arg_type::schar_type:
9365
15.8k
            SCN_VISIT(signed char);
9366
15.8k
        case detail::arg_type::short_type:
9367
15.8k
            SCN_VISIT(short);
9368
34.2k
        case detail::arg_type::int_type:
9369
34.2k
            SCN_VISIT(int);
9370
34.2k
        case detail::arg_type::long_type:
9371
34.2k
            SCN_VISIT(long);
9372
52.9k
        case detail::arg_type::llong_type:
9373
52.9k
            SCN_VISIT(long long);
9374
52.9k
        case detail::arg_type::int128_type:
9375
52.9k
#if SCN_HAS_INT128
9376
52.9k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
66.1k
        case detail::arg_type::uchar_type:
9381
66.1k
            SCN_VISIT(unsigned char);
9382
66.1k
        case detail::arg_type::ushort_type:
9383
66.1k
            SCN_VISIT(unsigned short);
9384
80.7k
        case detail::arg_type::uint_type:
9385
80.7k
            SCN_VISIT(unsigned);
9386
80.7k
        case detail::arg_type::ulong_type:
9387
80.7k
            SCN_VISIT(unsigned long);
9388
95.4k
        case detail::arg_type::ullong_type:
9389
95.4k
            SCN_VISIT(unsigned long long);
9390
95.4k
        case detail::arg_type::uint128_type:
9391
95.4k
#if SCN_HAS_INT128
9392
95.4k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
95.4k
        case detail::arg_type::pointer_type:
9397
95.4k
            SCN_VISIT(void*);
9398
95.4k
        case detail::arg_type::bool_type:
9399
95.4k
            SCN_VISIT(bool);
9400
95.4k
        case detail::arg_type::narrow_character_type:
9401
95.4k
            SCN_VISIT(char);
9402
95.4k
        case detail::arg_type::wide_character_type:
9403
95.4k
            SCN_VISIT(wchar_t);
9404
95.4k
        case detail::arg_type::code_point_type:
9405
95.4k
            SCN_VISIT(char32_t);
9406
95.4k
        case detail::arg_type::float_type:
9407
95.4k
            SCN_VISIT(float);
9408
95.4k
        case detail::arg_type::double_type:
9409
95.4k
            SCN_VISIT(double);
9410
95.4k
        case detail::arg_type::ldouble_type:
9411
95.4k
            SCN_VISIT(long double);
9412
95.4k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
95.4k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
95.4k
            SCN_CLANG_POP
9473
95.4k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
94.1k
{
9353
94.1k
#define SCN_VISIT(Type)                                                \
9354
94.1k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
94.1k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
94.1k
    }                                                                  \
9357
94.1k
    else {                                                             \
9358
94.1k
        return vis(monostate_val);                                     \
9359
94.1k
    }
9360
9361
94.1k
    monostate monostate_val{};
9362
9363
94.1k
    switch (get_arg_type(arg)) {
9364
15.8k
        case detail::arg_type::schar_type:
9365
15.8k
            SCN_VISIT(signed char);
9366
15.8k
        case detail::arg_type::short_type:
9367
15.8k
            SCN_VISIT(short);
9368
33.6k
        case detail::arg_type::int_type:
9369
33.6k
            SCN_VISIT(int);
9370
33.6k
        case detail::arg_type::long_type:
9371
33.6k
            SCN_VISIT(long);
9372
51.7k
        case detail::arg_type::llong_type:
9373
51.7k
            SCN_VISIT(long long);
9374
51.7k
        case detail::arg_type::int128_type:
9375
51.7k
#if SCN_HAS_INT128
9376
51.7k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
64.9k
        case detail::arg_type::uchar_type:
9381
64.9k
            SCN_VISIT(unsigned char);
9382
64.9k
        case detail::arg_type::ushort_type:
9383
64.9k
            SCN_VISIT(unsigned short);
9384
79.4k
        case detail::arg_type::uint_type:
9385
79.4k
            SCN_VISIT(unsigned);
9386
79.4k
        case detail::arg_type::ulong_type:
9387
79.4k
            SCN_VISIT(unsigned long);
9388
94.1k
        case detail::arg_type::ullong_type:
9389
94.1k
            SCN_VISIT(unsigned long long);
9390
94.1k
        case detail::arg_type::uint128_type:
9391
94.1k
#if SCN_HAS_INT128
9392
94.1k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
94.1k
        case detail::arg_type::pointer_type:
9397
94.1k
            SCN_VISIT(void*);
9398
94.1k
        case detail::arg_type::bool_type:
9399
94.1k
            SCN_VISIT(bool);
9400
94.1k
        case detail::arg_type::narrow_character_type:
9401
94.1k
            SCN_VISIT(char);
9402
94.1k
        case detail::arg_type::wide_character_type:
9403
94.1k
            SCN_VISIT(wchar_t);
9404
94.1k
        case detail::arg_type::code_point_type:
9405
94.1k
            SCN_VISIT(char32_t);
9406
94.1k
        case detail::arg_type::float_type:
9407
94.1k
            SCN_VISIT(float);
9408
94.1k
        case detail::arg_type::double_type:
9409
94.1k
            SCN_VISIT(double);
9410
94.1k
        case detail::arg_type::ldouble_type:
9411
94.1k
            SCN_VISIT(long double);
9412
94.1k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
94.1k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
94.1k
            SCN_CLANG_POP
9473
94.1k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
330k
{
9353
330k
#define SCN_VISIT(Type)                                                \
9354
330k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
330k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
330k
    }                                                                  \
9357
330k
    else {                                                             \
9358
330k
        return vis(monostate_val);                                     \
9359
330k
    }
9360
9361
330k
    monostate monostate_val{};
9362
9363
330k
    switch (get_arg_type(arg)) {
9364
53.2k
        case detail::arg_type::schar_type:
9365
53.2k
            SCN_VISIT(signed char);
9366
53.2k
        case detail::arg_type::short_type:
9367
53.2k
            SCN_VISIT(short);
9368
116k
        case detail::arg_type::int_type:
9369
116k
            SCN_VISIT(int);
9370
116k
        case detail::arg_type::long_type:
9371
116k
            SCN_VISIT(long);
9372
180k
        case detail::arg_type::llong_type:
9373
180k
            SCN_VISIT(long long);
9374
180k
        case detail::arg_type::int128_type:
9375
180k
#if SCN_HAS_INT128
9376
180k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
227k
        case detail::arg_type::uchar_type:
9381
227k
            SCN_VISIT(unsigned char);
9382
227k
        case detail::arg_type::ushort_type:
9383
227k
            SCN_VISIT(unsigned short);
9384
278k
        case detail::arg_type::uint_type:
9385
278k
            SCN_VISIT(unsigned);
9386
278k
        case detail::arg_type::ulong_type:
9387
278k
            SCN_VISIT(unsigned long);
9388
330k
        case detail::arg_type::ullong_type:
9389
330k
            SCN_VISIT(unsigned long long);
9390
330k
        case detail::arg_type::uint128_type:
9391
330k
#if SCN_HAS_INT128
9392
330k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
330k
        case detail::arg_type::pointer_type:
9397
330k
            SCN_VISIT(void*);
9398
330k
        case detail::arg_type::bool_type:
9399
330k
            SCN_VISIT(bool);
9400
330k
        case detail::arg_type::narrow_character_type:
9401
330k
            SCN_VISIT(char);
9402
330k
        case detail::arg_type::wide_character_type:
9403
330k
            SCN_VISIT(wchar_t);
9404
330k
        case detail::arg_type::code_point_type:
9405
330k
            SCN_VISIT(char32_t);
9406
330k
        case detail::arg_type::float_type:
9407
330k
            SCN_VISIT(float);
9408
330k
        case detail::arg_type::double_type:
9409
330k
            SCN_VISIT(double);
9410
330k
        case detail::arg_type::ldouble_type:
9411
330k
            SCN_VISIT(long double);
9412
330k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
330k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
330k
            SCN_CLANG_POP
9473
330k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9352
330k
{
9353
330k
#define SCN_VISIT(Type)                                                \
9354
330k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
330k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
330k
    }                                                                  \
9357
330k
    else {                                                             \
9358
330k
        return vis(monostate_val);                                     \
9359
330k
    }
9360
9361
330k
    monostate monostate_val{};
9362
9363
330k
    switch (get_arg_type(arg)) {
9364
53.2k
        case detail::arg_type::schar_type:
9365
53.2k
            SCN_VISIT(signed char);
9366
53.2k
        case detail::arg_type::short_type:
9367
53.2k
            SCN_VISIT(short);
9368
116k
        case detail::arg_type::int_type:
9369
116k
            SCN_VISIT(int);
9370
116k
        case detail::arg_type::long_type:
9371
116k
            SCN_VISIT(long);
9372
180k
        case detail::arg_type::llong_type:
9373
180k
            SCN_VISIT(long long);
9374
180k
        case detail::arg_type::int128_type:
9375
180k
#if SCN_HAS_INT128
9376
180k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
227k
        case detail::arg_type::uchar_type:
9381
227k
            SCN_VISIT(unsigned char);
9382
227k
        case detail::arg_type::ushort_type:
9383
227k
            SCN_VISIT(unsigned short);
9384
278k
        case detail::arg_type::uint_type:
9385
278k
            SCN_VISIT(unsigned);
9386
278k
        case detail::arg_type::ulong_type:
9387
278k
            SCN_VISIT(unsigned long);
9388
330k
        case detail::arg_type::ullong_type:
9389
330k
            SCN_VISIT(unsigned long long);
9390
330k
        case detail::arg_type::uint128_type:
9391
330k
#if SCN_HAS_INT128
9392
330k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
330k
        case detail::arg_type::pointer_type:
9397
330k
            SCN_VISIT(void*);
9398
330k
        case detail::arg_type::bool_type:
9399
330k
            SCN_VISIT(bool);
9400
330k
        case detail::arg_type::narrow_character_type:
9401
330k
            SCN_VISIT(char);
9402
330k
        case detail::arg_type::wide_character_type:
9403
330k
            SCN_VISIT(wchar_t);
9404
330k
        case detail::arg_type::code_point_type:
9405
330k
            SCN_VISIT(char32_t);
9406
330k
        case detail::arg_type::float_type:
9407
330k
            SCN_VISIT(float);
9408
330k
        case detail::arg_type::double_type:
9409
330k
            SCN_VISIT(double);
9410
330k
        case detail::arg_type::ldouble_type:
9411
330k
            SCN_VISIT(long double);
9412
330k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
330k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
0
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
0
                SCN_VISIT(std::string_view);
9449
            }
9450
            else {
9451
                SCN_VISIT(std::wstring_view);
9452
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
330k
            SCN_CLANG_POP
9473
330k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
25.4k
{
9353
25.4k
#define SCN_VISIT(Type)                                                \
9354
25.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
25.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
25.4k
    }                                                                  \
9357
25.4k
    else {                                                             \
9358
25.4k
        return vis(monostate_val);                                     \
9359
25.4k
    }
9360
9361
25.4k
    monostate monostate_val{};
9362
9363
25.4k
    switch (get_arg_type(arg)) {
9364
4.23k
        case detail::arg_type::schar_type:
9365
4.23k
            SCN_VISIT(signed char);
9366
4.23k
        case detail::arg_type::short_type:
9367
4.23k
            SCN_VISIT(short);
9368
8.48k
        case detail::arg_type::int_type:
9369
8.48k
            SCN_VISIT(int);
9370
8.48k
        case detail::arg_type::long_type:
9371
8.48k
            SCN_VISIT(long);
9372
12.7k
        case detail::arg_type::llong_type:
9373
12.7k
            SCN_VISIT(long long);
9374
12.7k
        case detail::arg_type::int128_type:
9375
12.7k
#if SCN_HAS_INT128
9376
12.7k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
16.9k
        case detail::arg_type::uchar_type:
9381
16.9k
            SCN_VISIT(unsigned char);
9382
16.9k
        case detail::arg_type::ushort_type:
9383
16.9k
            SCN_VISIT(unsigned short);
9384
21.2k
        case detail::arg_type::uint_type:
9385
21.2k
            SCN_VISIT(unsigned);
9386
21.2k
        case detail::arg_type::ulong_type:
9387
21.2k
            SCN_VISIT(unsigned long);
9388
25.4k
        case detail::arg_type::ullong_type:
9389
25.4k
            SCN_VISIT(unsigned long long);
9390
25.4k
        case detail::arg_type::uint128_type:
9391
25.4k
#if SCN_HAS_INT128
9392
25.4k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
25.4k
        case detail::arg_type::pointer_type:
9397
25.4k
            SCN_VISIT(void*);
9398
25.4k
        case detail::arg_type::bool_type:
9399
25.4k
            SCN_VISIT(bool);
9400
25.4k
        case detail::arg_type::narrow_character_type:
9401
25.4k
            SCN_VISIT(char);
9402
25.4k
        case detail::arg_type::wide_character_type:
9403
25.4k
            SCN_VISIT(wchar_t);
9404
25.4k
        case detail::arg_type::code_point_type:
9405
25.4k
            SCN_VISIT(char32_t);
9406
25.4k
        case detail::arg_type::float_type:
9407
25.4k
            SCN_VISIT(float);
9408
25.4k
        case detail::arg_type::double_type:
9409
25.4k
            SCN_VISIT(double);
9410
25.4k
        case detail::arg_type::ldouble_type:
9411
25.4k
            SCN_VISIT(long double);
9412
25.4k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
25.4k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
25.4k
            SCN_CLANG_POP
9473
25.4k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
109k
{
9353
109k
#define SCN_VISIT(Type)                                                \
9354
109k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
109k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
109k
    }                                                                  \
9357
109k
    else {                                                             \
9358
109k
        return vis(monostate_val);                                     \
9359
109k
    }
9360
9361
109k
    monostate monostate_val{};
9362
9363
109k
    switch (get_arg_type(arg)) {
9364
18.2k
        case detail::arg_type::schar_type:
9365
18.2k
            SCN_VISIT(signed char);
9366
18.2k
        case detail::arg_type::short_type:
9367
18.2k
            SCN_VISIT(short);
9368
36.5k
        case detail::arg_type::int_type:
9369
36.5k
            SCN_VISIT(int);
9370
36.5k
        case detail::arg_type::long_type:
9371
36.5k
            SCN_VISIT(long);
9372
54.9k
        case detail::arg_type::llong_type:
9373
54.9k
            SCN_VISIT(long long);
9374
54.9k
        case detail::arg_type::int128_type:
9375
54.9k
#if SCN_HAS_INT128
9376
54.9k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
73.1k
        case detail::arg_type::uchar_type:
9381
73.1k
            SCN_VISIT(unsigned char);
9382
73.1k
        case detail::arg_type::ushort_type:
9383
73.1k
            SCN_VISIT(unsigned short);
9384
91.4k
        case detail::arg_type::uint_type:
9385
91.4k
            SCN_VISIT(unsigned);
9386
91.4k
        case detail::arg_type::ulong_type:
9387
91.4k
            SCN_VISIT(unsigned long);
9388
109k
        case detail::arg_type::ullong_type:
9389
109k
            SCN_VISIT(unsigned long long);
9390
109k
        case detail::arg_type::uint128_type:
9391
109k
#if SCN_HAS_INT128
9392
109k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
109k
        case detail::arg_type::pointer_type:
9397
109k
            SCN_VISIT(void*);
9398
109k
        case detail::arg_type::bool_type:
9399
109k
            SCN_VISIT(bool);
9400
109k
        case detail::arg_type::narrow_character_type:
9401
109k
            SCN_VISIT(char);
9402
109k
        case detail::arg_type::wide_character_type:
9403
109k
            SCN_VISIT(wchar_t);
9404
109k
        case detail::arg_type::code_point_type:
9405
109k
            SCN_VISIT(char32_t);
9406
109k
        case detail::arg_type::float_type:
9407
109k
            SCN_VISIT(float);
9408
109k
        case detail::arg_type::double_type:
9409
109k
            SCN_VISIT(double);
9410
109k
        case detail::arg_type::ldouble_type:
9411
109k
            SCN_VISIT(long double);
9412
109k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
109k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
109k
            SCN_CLANG_POP
9473
109k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
25.4k
{
9353
25.4k
#define SCN_VISIT(Type)                                                \
9354
25.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
25.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
25.4k
    }                                                                  \
9357
25.4k
    else {                                                             \
9358
25.4k
        return vis(monostate_val);                                     \
9359
25.4k
    }
9360
9361
25.4k
    monostate monostate_val{};
9362
9363
25.4k
    switch (get_arg_type(arg)) {
9364
4.23k
        case detail::arg_type::schar_type:
9365
4.23k
            SCN_VISIT(signed char);
9366
4.23k
        case detail::arg_type::short_type:
9367
4.23k
            SCN_VISIT(short);
9368
8.48k
        case detail::arg_type::int_type:
9369
8.48k
            SCN_VISIT(int);
9370
8.48k
        case detail::arg_type::long_type:
9371
8.48k
            SCN_VISIT(long);
9372
12.7k
        case detail::arg_type::llong_type:
9373
12.7k
            SCN_VISIT(long long);
9374
12.7k
        case detail::arg_type::int128_type:
9375
12.7k
#if SCN_HAS_INT128
9376
12.7k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
16.9k
        case detail::arg_type::uchar_type:
9381
16.9k
            SCN_VISIT(unsigned char);
9382
16.9k
        case detail::arg_type::ushort_type:
9383
16.9k
            SCN_VISIT(unsigned short);
9384
21.2k
        case detail::arg_type::uint_type:
9385
21.2k
            SCN_VISIT(unsigned);
9386
21.2k
        case detail::arg_type::ulong_type:
9387
21.2k
            SCN_VISIT(unsigned long);
9388
25.4k
        case detail::arg_type::ullong_type:
9389
25.4k
            SCN_VISIT(unsigned long long);
9390
25.4k
        case detail::arg_type::uint128_type:
9391
25.4k
#if SCN_HAS_INT128
9392
25.4k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
25.4k
        case detail::arg_type::pointer_type:
9397
25.4k
            SCN_VISIT(void*);
9398
25.4k
        case detail::arg_type::bool_type:
9399
25.4k
            SCN_VISIT(bool);
9400
25.4k
        case detail::arg_type::narrow_character_type:
9401
25.4k
            SCN_VISIT(char);
9402
25.4k
        case detail::arg_type::wide_character_type:
9403
25.4k
            SCN_VISIT(wchar_t);
9404
25.4k
        case detail::arg_type::code_point_type:
9405
25.4k
            SCN_VISIT(char32_t);
9406
25.4k
        case detail::arg_type::float_type:
9407
25.4k
            SCN_VISIT(float);
9408
25.4k
        case detail::arg_type::double_type:
9409
25.4k
            SCN_VISIT(double);
9410
25.4k
        case detail::arg_type::ldouble_type:
9411
25.4k
            SCN_VISIT(long double);
9412
25.4k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
25.4k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
25.4k
            SCN_CLANG_POP
9473
25.4k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9352
109k
{
9353
109k
#define SCN_VISIT(Type)                                                \
9354
109k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9355
109k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9356
109k
    }                                                                  \
9357
109k
    else {                                                             \
9358
109k
        return vis(monostate_val);                                     \
9359
109k
    }
9360
9361
109k
    monostate monostate_val{};
9362
9363
109k
    switch (get_arg_type(arg)) {
9364
18.2k
        case detail::arg_type::schar_type:
9365
18.2k
            SCN_VISIT(signed char);
9366
18.2k
        case detail::arg_type::short_type:
9367
18.2k
            SCN_VISIT(short);
9368
36.5k
        case detail::arg_type::int_type:
9369
36.5k
            SCN_VISIT(int);
9370
36.5k
        case detail::arg_type::long_type:
9371
36.5k
            SCN_VISIT(long);
9372
54.9k
        case detail::arg_type::llong_type:
9373
54.9k
            SCN_VISIT(long long);
9374
54.9k
        case detail::arg_type::int128_type:
9375
54.9k
#if SCN_HAS_INT128
9376
54.9k
            SCN_VISIT(int128)
9377
#else
9378
            return vis(monostate_val);
9379
#endif
9380
73.1k
        case detail::arg_type::uchar_type:
9381
73.1k
            SCN_VISIT(unsigned char);
9382
73.1k
        case detail::arg_type::ushort_type:
9383
73.1k
            SCN_VISIT(unsigned short);
9384
91.4k
        case detail::arg_type::uint_type:
9385
91.4k
            SCN_VISIT(unsigned);
9386
91.4k
        case detail::arg_type::ulong_type:
9387
91.4k
            SCN_VISIT(unsigned long);
9388
109k
        case detail::arg_type::ullong_type:
9389
109k
            SCN_VISIT(unsigned long long);
9390
109k
        case detail::arg_type::uint128_type:
9391
109k
#if SCN_HAS_INT128
9392
109k
            SCN_VISIT(uint128)
9393
#else
9394
            return vis(monostate_val);
9395
#endif
9396
109k
        case detail::arg_type::pointer_type:
9397
109k
            SCN_VISIT(void*);
9398
109k
        case detail::arg_type::bool_type:
9399
109k
            SCN_VISIT(bool);
9400
109k
        case detail::arg_type::narrow_character_type:
9401
109k
            SCN_VISIT(char);
9402
109k
        case detail::arg_type::wide_character_type:
9403
109k
            SCN_VISIT(wchar_t);
9404
109k
        case detail::arg_type::code_point_type:
9405
109k
            SCN_VISIT(char32_t);
9406
109k
        case detail::arg_type::float_type:
9407
109k
            SCN_VISIT(float);
9408
109k
        case detail::arg_type::double_type:
9409
109k
            SCN_VISIT(double);
9410
109k
        case detail::arg_type::ldouble_type:
9411
109k
            SCN_VISIT(long double);
9412
109k
        case detail::arg_type::float16_type:
9413
#if SCN_HAS_STD_F16
9414
            SCN_VISIT(std::float16_t)
9415
#else
9416
109k
            return vis(monostate_val);
9417
0
#endif
9418
0
        case detail::arg_type::float32_type:
9419
#if SCN_HAS_STD_F32
9420
            SCN_VISIT(std::float32_t)
9421
#else
9422
0
            return vis(monostate_val);
9423
0
#endif
9424
0
        case detail::arg_type::float64_type:
9425
#if SCN_HAS_STD_F64
9426
            SCN_VISIT(std::float64_t)
9427
#else
9428
0
            return vis(monostate_val);
9429
0
#endif
9430
0
        case detail::arg_type::float128_type:
9431
#if SCN_HAS_STD_F64
9432
            SCN_VISIT(std::float128_t)
9433
#else
9434
0
            return vis(monostate_val);
9435
0
#endif
9436
0
        case detail::arg_type::bfloat16_type:
9437
#if SCN_HAS_STD_BF16
9438
            SCN_VISIT(std::bfloat16_t)
9439
#else
9440
0
            return vis(monostate_val);
9441
0
#endif
9442
0
        case detail::arg_type::narrow_string_type:
9443
0
            SCN_VISIT(std::string);
9444
0
        case detail::arg_type::wide_string_type:
9445
0
            SCN_VISIT(std::wstring);
9446
0
        case detail::arg_type::string_view_type: {
9447
            if constexpr (std::is_same_v<typename Ctx::char_type, char>) {
9448
                SCN_VISIT(std::string_view);
9449
            }
9450
0
            else {
9451
0
                SCN_VISIT(std::wstring_view);
9452
0
            }
9453
0
        }
9454
9455
0
        case detail::arg_type::custom_type:
9456
0
#if !SCN_DISABLE_TYPE_CUSTOM
9457
0
            return vis(typename basic_scan_arg<Ctx>::handle(
9458
0
                get_arg_value(arg).custom_value));
9459
#else
9460
            return vis(monostate_val);
9461
#endif
9462
9463
0
            SCN_CLANG_PUSH
9464
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9465
9466
0
            SCN_UNLIKELY_ATTR
9467
0
        case detail::arg_type::none_type:
9468
0
        default: {
9469
0
            return vis(monostate_val);
9470
0
        }
9471
9472
109k
            SCN_CLANG_POP
9473
109k
    }
9474
9475
0
#undef SCN_VISIT
9476
9477
0
    SCN_ENSURE(false);
9478
0
    SCN_UNREACHABLE;
9479
0
}
9480
9481
}  // namespace detail
9482
9483
template <typename Visitor, typename Ctx>
9484
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9485
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9486
{
9487
    return detail::visit_impl(SCN_FWD(vis), arg);
9488
}
9489
9490
template <typename Context>
9491
template <typename Visitor>
9492
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9493
1.12M
{
9494
1.12M
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
1.12M
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9493
95.4k
{
9494
95.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
95.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9493
94.1k
{
9494
94.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
94.1k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9493
330k
{
9494
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9493
330k
{
9494
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9493
25.4k
{
9494
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
25.4k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9493
109k
{
9494
109k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
109k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9493
25.4k
{
9494
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
25.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9493
109k
{
9494
109k
    return detail::visit_impl(SCN_FWD(vis), *this);
9495
109k
}
9496
9497
template <typename Context>
9498
template <typename R, typename Visitor>
9499
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9500
{
9501
    return detail::visit_impl(SCN_FWD(vis), *this);
9502
}
9503
9504
/////////////////////////////////////////////////////////////////
9505
// vscan
9506
/////////////////////////////////////////////////////////////////
9507
9508
/**
9509
 * \defgroup vscan Type-erased scanning API
9510
 *
9511
 * \brief Lower-level scanning API with type-erased arguments
9512
 */
9513
9514
namespace detail {
9515
template <typename Source>
9516
using scan_result_value_type =
9517
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9518
                       std::FILE*,
9519
                       borrowed_tail_subrange_t<Source>>;
9520
}
9521
9522
/**
9523
 * Result type returned by `vscan`.
9524
 *
9525
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9526
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9527
 *
9528
 * \ingroup vscan
9529
 */
9530
template <typename Source>
9531
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9532
9533
namespace detail {
9534
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9535
                                         std::string_view format,
9536
                                         scan_args args);
9537
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9538
                                         std::string_view format,
9539
                                         scan_args args);
9540
9541
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9542
                                         std::wstring_view format,
9543
                                         wscan_args args);
9544
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9545
                                         std::wstring_view format,
9546
                                         wscan_args args);
9547
9548
#if !SCN_DISABLE_LOCALE
9549
template <typename Locale>
9550
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9551
                                                   std::string_view source,
9552
                                                   std::string_view format,
9553
                                                   scan_args args);
9554
template <typename Locale>
9555
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9556
                                                   scan_buffer& source,
9557
                                                   std::string_view format,
9558
                                                   scan_args args);
9559
9560
template <typename Locale>
9561
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9562
                                                   std::wstring_view source,
9563
                                                   std::wstring_view format,
9564
                                                   wscan_args args);
9565
template <typename Locale>
9566
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9567
                                                   wscan_buffer& source,
9568
                                                   std::wstring_view format,
9569
                                                   wscan_args args);
9570
#endif
9571
9572
scan_expected<std::ptrdiff_t> vscan_value_impl(
9573
    std::string_view source,
9574
    basic_scan_arg<scan_context> arg);
9575
scan_expected<std::ptrdiff_t> vscan_value_impl(
9576
    scan_buffer& source,
9577
    basic_scan_arg<scan_context> arg);
9578
9579
scan_expected<std::ptrdiff_t> vscan_value_impl(
9580
    std::wstring_view source,
9581
    basic_scan_arg<wscan_context> arg);
9582
scan_expected<std::ptrdiff_t> vscan_value_impl(
9583
    wscan_buffer& source,
9584
    basic_scan_arg<wscan_context> arg);
9585
9586
template <typename Range, typename CharT>
9587
auto vscan_generic(Range&& range,
9588
                   std::basic_string_view<CharT> format,
9589
                   basic_scan_args<detail::default_context<CharT>> args)
9590
    -> vscan_result<Range>
9591
594k
{
9592
594k
    auto buffer = make_scan_buffer(range);
9593
9594
594k
    auto result = vscan_impl(buffer, format, args);
9595
594k
    if (SCN_UNLIKELY(!result)) {
9596
247k
        return unexpected(result.error());
9597
247k
    }
9598
346k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
594k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9591
209k
{
9592
209k
    auto buffer = make_scan_buffer(range);
9593
9594
209k
    auto result = vscan_impl(buffer, format, args);
9595
209k
    if (SCN_UNLIKELY(!result)) {
9596
41.2k
        return unexpected(result.error());
9597
41.2k
    }
9598
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9591
209k
{
9592
209k
    auto buffer = make_scan_buffer(range);
9593
9594
209k
    auto result = vscan_impl(buffer, format, args);
9595
209k
    if (SCN_UNLIKELY(!result)) {
9596
41.2k
        return unexpected(result.error());
9597
41.2k
    }
9598
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9591
88.1k
{
9592
88.1k
    auto buffer = make_scan_buffer(range);
9593
9594
88.1k
    auto result = vscan_impl(buffer, format, args);
9595
88.1k
    if (SCN_UNLIKELY(!result)) {
9596
82.5k
        return unexpected(result.error());
9597
82.5k
    }
9598
5.56k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
88.1k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9591
88.1k
{
9592
88.1k
    auto buffer = make_scan_buffer(range);
9593
9594
88.1k
    auto result = vscan_impl(buffer, format, args);
9595
88.1k
    if (SCN_UNLIKELY(!result)) {
9596
82.5k
        return unexpected(result.error());
9597
82.5k
    }
9598
5.56k
    return make_vscan_result_range(SCN_FWD(range), *result);
9599
88.1k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
9600
9601
template <typename Locale, typename Range, typename CharT>
9602
auto vscan_localized_generic(
9603
    const Locale& loc,
9604
    Range&& range,
9605
    std::basic_string_view<CharT> format,
9606
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9607
594k
{
9608
594k
#if !SCN_DISABLE_LOCALE
9609
594k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
594k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
594k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
594k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
594k
    if (SCN_UNLIKELY(!result)) {
9616
247k
        return unexpected(result.error());
9617
247k
    }
9618
346k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
594k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9607
209k
{
9608
209k
#if !SCN_DISABLE_LOCALE
9609
209k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
209k
    if (SCN_UNLIKELY(!result)) {
9616
41.2k
        return unexpected(result.error());
9617
41.2k
    }
9618
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9607
209k
{
9608
209k
#if !SCN_DISABLE_LOCALE
9609
209k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
209k
    if (SCN_UNLIKELY(!result)) {
9616
41.2k
        return unexpected(result.error());
9617
41.2k
    }
9618
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9607
88.1k
{
9608
88.1k
#if !SCN_DISABLE_LOCALE
9609
88.1k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
88.1k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
88.1k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
88.1k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
88.1k
    if (SCN_UNLIKELY(!result)) {
9616
82.5k
        return unexpected(result.error());
9617
82.5k
    }
9618
5.56k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
88.1k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9607
88.1k
{
9608
88.1k
#if !SCN_DISABLE_LOCALE
9609
88.1k
    auto buffer = detail::make_scan_buffer(range);
9610
9611
88.1k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9612
88.1k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9613
88.1k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9614
9615
88.1k
    if (SCN_UNLIKELY(!result)) {
9616
82.5k
        return unexpected(result.error());
9617
82.5k
    }
9618
5.56k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9619
#else
9620
    static_assert(dependent_false<Locale>::value,
9621
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9622
9623
    return {};
9624
#endif
9625
88.1k
}
9626
9627
template <typename Range, typename CharT>
9628
auto vscan_value_generic(Range&& range,
9629
                         basic_scan_arg<detail::default_context<CharT>> arg)
9630
    -> vscan_result<Range>
9631
80.1k
{
9632
80.1k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
80.1k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
80.1k
    if (SCN_UNLIKELY(!result)) {
9636
24.7k
        return unexpected(result.error());
9637
24.7k
    }
9638
55.4k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
80.1k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
31.8k
{
9632
31.8k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
31.8k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
31.8k
    if (SCN_UNLIKELY(!result)) {
9636
4.12k
        return unexpected(result.error());
9637
4.12k
    }
9638
27.6k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
31.8k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
31.3k
{
9632
31.3k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
31.3k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
31.3k
    if (SCN_UNLIKELY(!result)) {
9636
4.12k
        return unexpected(result.error());
9637
4.12k
    }
9638
27.2k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
31.3k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
8.48k
{
9632
8.48k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
8.48k
    if (SCN_UNLIKELY(!result)) {
9636
8.25k
        return unexpected(result.error());
9637
8.25k
    }
9638
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
8.48k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9631
8.48k
{
9632
8.48k
    auto buffer = detail::make_scan_buffer(range);
9633
9634
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9635
8.48k
    if (SCN_UNLIKELY(!result)) {
9636
8.25k
        return unexpected(result.error());
9637
8.25k
    }
9638
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9639
8.48k
}
9640
}  // namespace detail
9641
9642
SCN_GCC_PUSH
9643
SCN_GCC_IGNORE("-Wnoexcept")
9644
9645
/**
9646
 * Perform actual scanning from `source`, according to `format`, into the
9647
 * type-erased arguments at `args`. Called by `scan`.
9648
 *
9649
 * \ingroup vscan
9650
 */
9651
template <typename Source>
9652
auto vscan(Source&& source, std::string_view format, scan_args args)
9653
    -> vscan_result<Source>
9654
418k
{
9655
418k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9654
209k
{
9655
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9654
209k
{
9655
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9656
209k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9657
9658
/**
9659
 * Perform actual scanning from `source`, according to `format`, into the
9660
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9661
 * `scan`.
9662
 *
9663
 * \ingroup locale
9664
 */
9665
template <typename Source,
9666
          typename Locale,
9667
          typename = std::void_t<decltype(Locale::classic())>>
9668
auto vscan(const Locale& loc,
9669
           Source&& source,
9670
           std::string_view format,
9671
           scan_args args) -> vscan_result<Source>
9672
418k
{
9673
418k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSI_16buffer_range_tagEcEEEE
Line
Count
Source
9672
209k
{
9673
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSN_16buffer_range_tagEcEEEE
Line
Count
Source
9672
209k
{
9673
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9674
209k
}
9675
9676
/**
9677
 * Perform actual scanning from `source` into the type-erased argument at
9678
 * `arg`. Called by `scan_value`.
9679
 *
9680
 * \ingroup vscan
9681
 */
9682
template <typename Source>
9683
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9684
    -> vscan_result<Source>
9685
63.1k
{
9686
63.1k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
63.1k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9685
31.8k
{
9686
31.8k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
31.8k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9685
31.3k
{
9686
31.3k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9687
31.3k
}
9688
9689
/**
9690
 * Perform actual scanning from `stdin`, according to `format`, into the
9691
 * type-erased arguments at `args`. Called by `input`.
9692
 *
9693
 * \ingroup vscan
9694
 */
9695
scan_expected<void> vinput(std::string_view format, scan_args args);
9696
9697
namespace detail {
9698
template <typename T>
9699
auto scan_int_impl(std::string_view source, T& value, int base)
9700
    -> scan_expected<std::string_view::iterator>;
9701
9702
template <typename T>
9703
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9704
9705
#if !SCN_DISABLE_TYPE_SCHAR
9706
extern template auto scan_int_impl(std::string_view source,
9707
                                   signed char& value,
9708
                                   int base)
9709
    -> scan_expected<std::string_view::iterator>;
9710
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9711
    -> signed char;
9712
#endif
9713
#if !SCN_DISABLE_TYPE_SHORT
9714
extern template auto scan_int_impl(std::string_view source,
9715
                                   short& value,
9716
                                   int base)
9717
    -> scan_expected<std::string_view::iterator>;
9718
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9719
#endif
9720
#if !SCN_DISABLE_TYPE_INT
9721
extern template auto scan_int_impl(std::string_view source,
9722
                                   int& value,
9723
                                   int base)
9724
    -> scan_expected<std::string_view::iterator>;
9725
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9726
#endif
9727
#if !SCN_DISABLE_TYPE_LONG
9728
extern template auto scan_int_impl(std::string_view source,
9729
                                   long& value,
9730
                                   int base)
9731
    -> scan_expected<std::string_view::iterator>;
9732
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9733
#endif
9734
#if !SCN_DISABLE_TYPE_LONG_LONG
9735
extern template auto scan_int_impl(std::string_view source,
9736
                                   long long& value,
9737
                                   int base)
9738
    -> scan_expected<std::string_view::iterator>;
9739
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9740
    -> long long;
9741
#endif
9742
#if !SCN_DISABLE_TYPE_UCHAR
9743
extern template auto scan_int_impl(std::string_view source,
9744
                                   unsigned char& value,
9745
                                   int base)
9746
    -> scan_expected<std::string_view::iterator>;
9747
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9748
    -> unsigned char;
9749
#endif
9750
#if !SCN_DISABLE_TYPE_USHORT
9751
extern template auto scan_int_impl(std::string_view source,
9752
                                   unsigned short& value,
9753
                                   int base)
9754
    -> scan_expected<std::string_view::iterator>;
9755
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9756
    -> unsigned short;
9757
#endif
9758
#if !SCN_DISABLE_TYPE_UINT
9759
extern template auto scan_int_impl(std::string_view source,
9760
                                   unsigned int& value,
9761
                                   int base)
9762
    -> scan_expected<std::string_view::iterator>;
9763
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9764
    -> unsigned int;
9765
#endif
9766
#if !SCN_DISABLE_TYPE_ULONG
9767
extern template auto scan_int_impl(std::string_view source,
9768
                                   unsigned long& value,
9769
                                   int base)
9770
    -> scan_expected<std::string_view::iterator>;
9771
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9772
    -> unsigned long;
9773
#endif
9774
#if !SCN_DISABLE_TYPE_ULONG_LONG
9775
extern template auto scan_int_impl(std::string_view source,
9776
                                   unsigned long long& value,
9777
                                   int base)
9778
    -> scan_expected<std::string_view::iterator>;
9779
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9780
    -> unsigned long long;
9781
#endif
9782
9783
#if SCN_HAS_INT128
9784
9785
#if !SCN_DISABLE_TYPE_INT128
9786
extern template auto scan_int_impl(std::string_view source,
9787
                                   int128& value,
9788
                                   int base)
9789
    -> scan_expected<std::string_view::iterator>;
9790
#endif
9791
9792
#if !SCN_DISABLE_TYPE_UINT128
9793
extern template auto scan_int_impl(std::string_view source,
9794
                                   uint128& value,
9795
                                   int base)
9796
    -> scan_expected<std::string_view::iterator>;
9797
#endif
9798
9799
#endif  // SCN_HAS_INT128
9800
9801
}  // namespace detail
9802
9803
SCN_GCC_POP  // -Wnoexcept
9804
9805
    // dummy namespace to reset formatting
9806
    namespace detail
9807
{
9808
}
9809
9810
/////////////////////////////////////////////////////////////////
9811
// scan
9812
/////////////////////////////////////////////////////////////////
9813
9814
/**
9815
 * The return type of `scan`, based on the type of the source, and the
9816
 * types of the scanned arguments.
9817
 */
9818
template <typename Source, typename... Args>
9819
using scan_result_type =
9820
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9821
9822
/**
9823
 * If `in` contains a successful result as returned from `vscan`,
9824
 * the range contained in `out` is set to `*in`.
9825
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9826
 */
9827
template <typename Result,
9828
          typename Range,
9829
          std::enable_if_t<std::conjunction_v<
9830
              detail::is_specialization_of<Result, scan_result>,
9831
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9832
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9833
1.26M
{
9834
1.26M
    if (SCN_UNLIKELY(!in)) {
9835
520k
        out = unexpected(in.error());
9836
520k
    }
9837
749k
    else {
9838
749k
        out->set_range(SCN_MOVE(*in));
9839
749k
    }
9840
1.26M
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
73.2k
{
9834
73.2k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
58.7k
    else {
9838
58.7k
        out->set_range(SCN_MOVE(*in));
9839
58.7k
    }
9840
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
64.2k
{
9834
64.2k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
49.7k
    else {
9838
49.7k
        out->set_range(SCN_MOVE(*in));
9839
49.7k
    }
9840
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
85.6k
{
9834
85.6k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
71.1k
    else {
9838
71.1k
        out->set_range(SCN_MOVE(*in));
9839
71.1k
    }
9840
85.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
69.6k
{
9834
69.6k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
55.2k
    else {
9838
55.2k
        out->set_range(SCN_MOVE(*in));
9839
55.2k
    }
9840
69.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
87.1k
{
9834
87.1k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
72.6k
    else {
9838
72.6k
        out->set_range(SCN_MOVE(*in));
9839
72.6k
    }
9840
87.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
70.4k
{
9834
70.4k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
56.0k
    else {
9838
56.0k
        out->set_range(SCN_MOVE(*in));
9839
56.0k
    }
9840
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
73.2k
{
9834
73.2k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
58.7k
    else {
9838
58.7k
        out->set_range(SCN_MOVE(*in));
9839
58.7k
    }
9840
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
64.2k
{
9834
64.2k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
49.7k
    else {
9838
49.7k
        out->set_range(SCN_MOVE(*in));
9839
49.7k
    }
9840
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
85.1k
{
9834
85.1k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
70.7k
    else {
9838
70.7k
        out->set_range(SCN_MOVE(*in));
9839
70.7k
    }
9840
85.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
69.7k
{
9834
69.7k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
55.2k
    else {
9838
55.2k
        out->set_range(SCN_MOVE(*in));
9839
55.2k
    }
9840
69.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
86.6k
{
9834
86.6k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
72.1k
    else {
9838
72.1k
        out->set_range(SCN_MOVE(*in));
9839
72.1k
    }
9840
86.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
70.4k
{
9834
70.4k
    if (SCN_UNLIKELY(!in)) {
9835
14.4k
        out = unexpected(in.error());
9836
14.4k
    }
9837
56.0k
    else {
9838
56.0k
        out->set_range(SCN_MOVE(*in));
9839
56.0k
    }
9840
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.7k
{
9834
30.7k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.84k
    else {
9838
1.84k
        out->set_range(SCN_MOVE(*in));
9839
1.84k
    }
9840
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.6k
{
9834
30.6k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.76k
    else {
9838
1.76k
        out->set_range(SCN_MOVE(*in));
9839
1.76k
    }
9840
30.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.8k
{
9834
30.8k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.93k
    else {
9838
1.93k
        out->set_range(SCN_MOVE(*in));
9839
1.93k
    }
9840
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.7k
{
9834
30.7k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.83k
    else {
9838
1.83k
        out->set_range(SCN_MOVE(*in));
9839
1.83k
    }
9840
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.9k
{
9834
30.9k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
2.05k
    else {
9838
2.05k
        out->set_range(SCN_MOVE(*in));
9839
2.05k
    }
9840
30.9k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9833
30.8k
{
9834
30.8k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.92k
    else {
9838
1.92k
        out->set_range(SCN_MOVE(*in));
9839
1.92k
    }
9840
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.7k
{
9834
30.7k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.84k
    else {
9838
1.84k
        out->set_range(SCN_MOVE(*in));
9839
1.84k
    }
9840
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.6k
{
9834
30.6k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.76k
    else {
9838
1.76k
        out->set_range(SCN_MOVE(*in));
9839
1.76k
    }
9840
30.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.8k
{
9834
30.8k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.93k
    else {
9838
1.93k
        out->set_range(SCN_MOVE(*in));
9839
1.93k
    }
9840
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.7k
{
9834
30.7k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.83k
    else {
9838
1.83k
        out->set_range(SCN_MOVE(*in));
9839
1.83k
    }
9840
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.9k
{
9834
30.9k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
2.05k
    else {
9838
2.05k
        out->set_range(SCN_MOVE(*in));
9839
2.05k
    }
9840
30.9k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9833
30.8k
{
9834
30.8k
    if (SCN_UNLIKELY(!in)) {
9835
28.8k
        out = unexpected(in.error());
9836
28.8k
    }
9837
1.92k
    else {
9838
1.92k
        out->set_range(SCN_MOVE(*in));
9839
1.92k
    }
9840
30.8k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
9841
9842
/**
9843
 * Returns an empty result type for a source of type `Source`, and arguments of
9844
 * type `Args...`.
9845
 */
9846
template <typename Source, typename... Args>
9847
auto make_scan_result()
9848
1.26M
{
9849
1.26M
    return scan_result_type<Source, Args...>();
9850
1.26M
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>()
Line
Count
Source
9848
73.2k
{
9849
73.2k
    return scan_result_type<Source, Args...>();
9850
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>()
Line
Count
Source
9848
64.2k
{
9849
64.2k
    return scan_result_type<Source, Args...>();
9850
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>()
Line
Count
Source
9848
85.6k
{
9849
85.6k
    return scan_result_type<Source, Args...>();
9850
85.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>()
Line
Count
Source
9848
69.6k
{
9849
69.6k
    return scan_result_type<Source, Args...>();
9850
69.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>()
Line
Count
Source
9848
87.1k
{
9849
87.1k
    return scan_result_type<Source, Args...>();
9850
87.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>()
Line
Count
Source
9848
70.4k
{
9849
70.4k
    return scan_result_type<Source, Args...>();
9850
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>()
Line
Count
Source
9848
73.2k
{
9849
73.2k
    return scan_result_type<Source, Args...>();
9850
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>()
Line
Count
Source
9848
64.2k
{
9849
64.2k
    return scan_result_type<Source, Args...>();
9850
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>()
Line
Count
Source
9848
85.1k
{
9849
85.1k
    return scan_result_type<Source, Args...>();
9850
85.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>()
Line
Count
Source
9848
69.7k
{
9849
69.7k
    return scan_result_type<Source, Args...>();
9850
69.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>()
Line
Count
Source
9848
86.6k
{
9849
86.6k
    return scan_result_type<Source, Args...>();
9850
86.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>()
Line
Count
Source
9848
70.4k
{
9849
70.4k
    return scan_result_type<Source, Args...>();
9850
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>()
Line
Count
Source
9848
30.7k
{
9849
30.7k
    return scan_result_type<Source, Args...>();
9850
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>()
Line
Count
Source
9848
30.6k
{
9849
30.6k
    return scan_result_type<Source, Args...>();
9850
30.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>()
Line
Count
Source
9848
30.8k
{
9849
30.8k
    return scan_result_type<Source, Args...>();
9850
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>()
Line
Count
Source
9848
30.7k
{
9849
30.7k
    return scan_result_type<Source, Args...>();
9850
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>()
Line
Count
Source
9848
30.9k
{
9849
30.9k
    return scan_result_type<Source, Args...>();
9850
30.9k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>()
Line
Count
Source
9848
30.8k
{
9849
30.8k
    return scan_result_type<Source, Args...>();
9850
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>()
Line
Count
Source
9848
30.7k
{
9849
30.7k
    return scan_result_type<Source, Args...>();
9850
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>()
Line
Count
Source
9848
30.6k
{
9849
30.6k
    return scan_result_type<Source, Args...>();
9850
30.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>()
Line
Count
Source
9848
30.8k
{
9849
30.8k
    return scan_result_type<Source, Args...>();
9850
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>()
Line
Count
Source
9848
30.7k
{
9849
30.7k
    return scan_result_type<Source, Args...>();
9850
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>()
Line
Count
Source
9848
30.9k
{
9849
30.9k
    return scan_result_type<Source, Args...>();
9850
30.9k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>()
Line
Count
Source
9848
30.8k
{
9849
30.8k
    return scan_result_type<Source, Args...>();
9850
30.8k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9851
9852
template <typename Source, typename... Args>
9853
auto make_scan_result(std::tuple<Args...>&& initial_values)
9854
{
9855
    using type = scan_result_type<Source, Args...>;
9856
    using subrange_type = typename type::value_type::range_type;
9857
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9858
}
9859
9860
/**
9861
 * \defgroup scan Basic scanning API
9862
 *
9863
 * \brief The core public-facing interface of the library
9864
 *
9865
 * The following functions use a format string syntax similar to that of
9866
 * `std::format`. See more at \ref format-string.
9867
 *
9868
 * When these functions take a `source` as input, it must
9869
 * model the `scannable_source` concept. See more at \ref scannable.
9870
 */
9871
9872
/**
9873
 * Scans `Args...` from `source`, according to the
9874
 * specifications given in the format string (`format`).
9875
 * Returns the resulting values in an object of type `scan_result`,
9876
 * alongside a `subrange` pointing to the unused input.
9877
 *
9878
 * Example:
9879
 * \code{.cpp}
9880
 * if (auto result = scn::scan<int>("123", "{}"))
9881
 *     int value = result->value();
9882
 * \endcode
9883
 *
9884
 * \ingroup scan
9885
 */
9886
template <typename... Args,
9887
          typename Source,
9888
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9889
SCN_NODISCARD auto scan(Source&& source,
9890
                        scan_format_string<Source, Args...> format)
9891
    -> scan_result_type<Source, Args...>
9892
418k
{
9893
418k
    auto result = make_scan_result<Source, Args...>();
9894
418k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
418k
                                   make_scan_args(result->values())));
9896
418k
    return result;
9897
418k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
33.9k
{
9893
33.9k
    auto result = make_scan_result<Source, Args...>();
9894
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
33.9k
                                   make_scan_args(result->values())));
9896
33.9k
    return result;
9897
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
29.9k
{
9893
29.9k
    auto result = make_scan_result<Source, Args...>();
9894
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
29.9k
                                   make_scan_args(result->values())));
9896
29.9k
    return result;
9897
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
39.7k
{
9893
39.7k
    auto result = make_scan_result<Source, Args...>();
9894
39.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
39.7k
                                   make_scan_args(result->values())));
9896
39.7k
    return result;
9897
39.7k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
32.4k
{
9893
32.4k
    auto result = make_scan_result<Source, Args...>();
9894
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
32.4k
                                   make_scan_args(result->values())));
9896
32.4k
    return result;
9897
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
40.4k
{
9893
40.4k
    auto result = make_scan_result<Source, Args...>();
9894
40.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
40.4k
                                   make_scan_args(result->values())));
9896
40.4k
    return result;
9897
40.4k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9892
32.7k
{
9893
32.7k
    auto result = make_scan_result<Source, Args...>();
9894
32.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
32.7k
                                   make_scan_args(result->values())));
9896
32.7k
    return result;
9897
32.7k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
33.9k
{
9893
33.9k
    auto result = make_scan_result<Source, Args...>();
9894
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
33.9k
                                   make_scan_args(result->values())));
9896
33.9k
    return result;
9897
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
29.9k
{
9893
29.9k
    auto result = make_scan_result<Source, Args...>();
9894
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
29.9k
                                   make_scan_args(result->values())));
9896
29.9k
    return result;
9897
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
39.6k
{
9893
39.6k
    auto result = make_scan_result<Source, Args...>();
9894
39.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
39.6k
                                   make_scan_args(result->values())));
9896
39.6k
    return result;
9897
39.6k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
32.4k
{
9893
32.4k
    auto result = make_scan_result<Source, Args...>();
9894
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
32.4k
                                   make_scan_args(result->values())));
9896
32.4k
    return result;
9897
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
40.3k
{
9893
40.3k
    auto result = make_scan_result<Source, Args...>();
9894
40.3k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
40.3k
                                   make_scan_args(result->values())));
9896
40.3k
    return result;
9897
40.3k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9892
32.8k
{
9893
32.8k
    auto result = make_scan_result<Source, Args...>();
9894
32.8k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9895
32.8k
                                   make_scan_args(result->values())));
9896
32.8k
    return result;
9897
32.8k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9898
9899
/**
9900
 * `scan` with explicitly supplied default values
9901
 *
9902
 * Can be used, for example, for pre-allocating a scanned string:
9903
 *
9904
 * \code{.cpp}
9905
 * std::string str;
9906
 * str.reserve(64);
9907
 *
9908
 * // As long as the read string fits in `str`,
9909
 * // does not allocate
9910
 * auto result = scn::scan<std::string>(source, "{}",
9911
 *                                      {std::move(str)});
9912
 * // Access the read string with result->value()
9913
 * \endcode
9914
 *
9915
 * \ingroup scan
9916
 */
9917
template <typename... Args,
9918
          typename Source,
9919
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9920
SCN_NODISCARD auto scan(Source&& source,
9921
                        scan_format_string<Source, Args...> format,
9922
                        std::tuple<Args...>&& initial_args)
9923
    -> scan_result_type<Source, Args...>
9924
{
9925
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9926
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9927
                                   make_scan_args(result->values())));
9928
    return result;
9929
}
9930
9931
/**
9932
 * \defgroup locale Localization
9933
 *
9934
 * \brief Scanning APIs that allow passing in a locale
9935
 */
9936
9937
/**
9938
 * `scan` using an explicit locale.
9939
 *
9940
 * Has no effect on its own, locale-specific scanning still needs to be
9941
 * opted-into on an argument-by-argument basis, with the `L` format string
9942
 * specifier.
9943
 *
9944
 * \code{.cpp}
9945
 * auto result = scn::scan<double>(
9946
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9947
 * // result->value() == 3.14
9948
 * \endcode
9949
 *
9950
 * \ingroup locale
9951
 */
9952
template <typename... Args,
9953
          typename Locale,
9954
          typename Source,
9955
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9956
          typename = std::void_t<decltype(Locale::classic())>>
9957
SCN_NODISCARD auto scan(const Locale& loc,
9958
                        Source&& source,
9959
                        scan_format_string<Source, Args...> format)
9960
    -> scan_result_type<Source, Args...>
9961
418k
{
9962
418k
    auto result = make_scan_result<Source, Args...>();
9963
418k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
418k
                                   make_scan_args(result->values())));
9965
418k
    return result;
9966
418k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
33.9k
{
9962
33.9k
    auto result = make_scan_result<Source, Args...>();
9963
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
33.9k
                                   make_scan_args(result->values())));
9965
33.9k
    return result;
9966
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
29.9k
{
9962
29.9k
    auto result = make_scan_result<Source, Args...>();
9963
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
29.9k
                                   make_scan_args(result->values())));
9965
29.9k
    return result;
9966
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
39.7k
{
9962
39.7k
    auto result = make_scan_result<Source, Args...>();
9963
39.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
39.7k
                                   make_scan_args(result->values())));
9965
39.7k
    return result;
9966
39.7k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
32.4k
{
9962
32.4k
    auto result = make_scan_result<Source, Args...>();
9963
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
32.4k
                                   make_scan_args(result->values())));
9965
32.4k
    return result;
9966
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
40.4k
{
9962
40.4k
    auto result = make_scan_result<Source, Args...>();
9963
40.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
40.4k
                                   make_scan_args(result->values())));
9965
40.4k
    return result;
9966
40.4k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9961
32.7k
{
9962
32.7k
    auto result = make_scan_result<Source, Args...>();
9963
32.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
32.7k
                                   make_scan_args(result->values())));
9965
32.7k
    return result;
9966
32.7k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
33.9k
{
9962
33.9k
    auto result = make_scan_result<Source, Args...>();
9963
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
33.9k
                                   make_scan_args(result->values())));
9965
33.9k
    return result;
9966
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
29.9k
{
9962
29.9k
    auto result = make_scan_result<Source, Args...>();
9963
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
29.9k
                                   make_scan_args(result->values())));
9965
29.9k
    return result;
9966
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
39.6k
{
9962
39.6k
    auto result = make_scan_result<Source, Args...>();
9963
39.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
39.6k
                                   make_scan_args(result->values())));
9965
39.6k
    return result;
9966
39.6k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
32.4k
{
9962
32.4k
    auto result = make_scan_result<Source, Args...>();
9963
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
32.4k
                                   make_scan_args(result->values())));
9965
32.4k
    return result;
9966
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
40.3k
{
9962
40.3k
    auto result = make_scan_result<Source, Args...>();
9963
40.3k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
40.3k
                                   make_scan_args(result->values())));
9965
40.3k
    return result;
9966
40.3k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9961
32.8k
{
9962
32.8k
    auto result = make_scan_result<Source, Args...>();
9963
32.8k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9964
32.8k
                                   make_scan_args(result->values())));
9965
32.8k
    return result;
9966
32.8k
}
9967
9968
/**
9969
 * `scan` with a locale and default values
9970
 *
9971
 * \ingroup locale
9972
 */
9973
template <typename... Args,
9974
          typename Locale,
9975
          typename Source,
9976
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9977
          typename = std::void_t<decltype(Locale::classic())>>
9978
SCN_NODISCARD auto scan(const Locale& loc,
9979
                        Source&& source,
9980
                        scan_format_string<Source, Args...> format,
9981
                        std::tuple<Args...>&& initial_args)
9982
    -> scan_result_type<Source, Args...>
9983
{
9984
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9985
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9986
                                   make_scan_args(result->values())));
9987
    return result;
9988
}
9989
9990
/**
9991
 * `scan` a single value, with default options.
9992
 *
9993
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9994
 * except it can skip parsing the format string, gaining performance.
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename T,
9999
          typename Source,
10000
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
10001
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
10002
63.1k
{
10003
63.1k
    auto result = make_scan_result<Source, T>();
10004
63.1k
    fill_scan_result(
10005
63.1k
        result, vscan_value(SCN_FWD(source),
10006
63.1k
                            detail::make_arg<scan_context>(result->value())));
10007
63.1k
    return result;
10008
63.1k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
5.29k
{
10003
5.29k
    auto result = make_scan_result<Source, T>();
10004
5.29k
    fill_scan_result(
10005
5.29k
        result, vscan_value(SCN_FWD(source),
10006
5.29k
                            detail::make_arg<scan_context>(result->value())));
10007
5.29k
    return result;
10008
5.29k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
4.41k
{
10003
4.41k
    auto result = make_scan_result<Source, T>();
10004
4.41k
    fill_scan_result(
10005
4.41k
        result, vscan_value(SCN_FWD(source),
10006
4.41k
                            detail::make_arg<scan_context>(result->value())));
10007
4.41k
    return result;
10008
4.41k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
6.11k
{
10003
6.11k
    auto result = make_scan_result<Source, T>();
10004
6.11k
    fill_scan_result(
10005
6.11k
        result, vscan_value(SCN_FWD(source),
10006
6.11k
                            detail::make_arg<scan_context>(result->value())));
10007
6.11k
    return result;
10008
6.11k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
4.85k
{
10003
4.85k
    auto result = make_scan_result<Source, T>();
10004
4.85k
    fill_scan_result(
10005
4.85k
        result, vscan_value(SCN_FWD(source),
10006
4.85k
                            detail::make_arg<scan_context>(result->value())));
10007
4.85k
    return result;
10008
4.85k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
6.22k
{
10003
6.22k
    auto result = make_scan_result<Source, T>();
10004
6.22k
    fill_scan_result(
10005
6.22k
        result, vscan_value(SCN_FWD(source),
10006
6.22k
                            detail::make_arg<scan_context>(result->value())));
10007
6.22k
    return result;
10008
6.22k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
10002
4.91k
{
10003
4.91k
    auto result = make_scan_result<Source, T>();
10004
4.91k
    fill_scan_result(
10005
4.91k
        result, vscan_value(SCN_FWD(source),
10006
4.91k
                            detail::make_arg<scan_context>(result->value())));
10007
4.91k
    return result;
10008
4.91k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
5.28k
{
10003
5.28k
    auto result = make_scan_result<Source, T>();
10004
5.28k
    fill_scan_result(
10005
5.28k
        result, vscan_value(SCN_FWD(source),
10006
5.28k
                            detail::make_arg<scan_context>(result->value())));
10007
5.28k
    return result;
10008
5.28k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
4.40k
{
10003
4.40k
    auto result = make_scan_result<Source, T>();
10004
4.40k
    fill_scan_result(
10005
4.40k
        result, vscan_value(SCN_FWD(source),
10006
4.40k
                            detail::make_arg<scan_context>(result->value())));
10007
4.40k
    return result;
10008
4.40k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
5.92k
{
10003
5.92k
    auto result = make_scan_result<Source, T>();
10004
5.92k
    fill_scan_result(
10005
5.92k
        result, vscan_value(SCN_FWD(source),
10006
5.92k
                            detail::make_arg<scan_context>(result->value())));
10007
5.92k
    return result;
10008
5.92k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
4.83k
{
10003
4.83k
    auto result = make_scan_result<Source, T>();
10004
4.83k
    fill_scan_result(
10005
4.83k
        result, vscan_value(SCN_FWD(source),
10006
4.83k
                            detail::make_arg<scan_context>(result->value())));
10007
4.83k
    return result;
10008
4.83k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
6.02k
{
10003
6.02k
    auto result = make_scan_result<Source, T>();
10004
6.02k
    fill_scan_result(
10005
6.02k
        result, vscan_value(SCN_FWD(source),
10006
6.02k
                            detail::make_arg<scan_context>(result->value())));
10007
6.02k
    return result;
10008
6.02k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
10002
4.89k
{
10003
4.89k
    auto result = make_scan_result<Source, T>();
10004
4.89k
    fill_scan_result(
10005
4.89k
        result, vscan_value(SCN_FWD(source),
10006
4.89k
                            detail::make_arg<scan_context>(result->value())));
10007
4.89k
    return result;
10008
4.89k
}
10009
10010
/**
10011
 * `scan` a single value, with default options, and a default value.
10012
 *
10013
 * \ingroup scan
10014
 */
10015
template <typename T,
10016
          typename Source,
10017
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
10018
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
10019
    -> scan_result_type<Source, T>
10020
{
10021
    auto result =
10022
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
10023
    fill_scan_result(
10024
        result, vscan_value(SCN_FWD(source),
10025
                            detail::make_arg<scan_context>(result->value())));
10026
    return result;
10027
}
10028
10029
/**
10030
 * Scan from `stdin`.
10031
 *
10032
 * Equivalent to `scn::scan<...>(stdin, ...)`.
10033
 *
10034
 * \code{.cpp}
10035
 * auto result = scn::input<int>("{}");
10036
 * \endcode
10037
 *
10038
 * \ingroup scan
10039
 */
10040
template <typename... Args>
10041
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
10042
    -> scan_result_type<std::FILE*, Args...>
10043
{
10044
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
10045
                                                        std::tuple<Args...>{});
10046
    auto err = vinput(format, make_scan_args(result->values()));
10047
    if (SCN_UNLIKELY(!err)) {
10048
        result = unexpected(err.error());
10049
    }
10050
    return result;
10051
}
10052
10053
/**
10054
 * Write msg to stdout, and call `input<Args...>(format)`
10055
 *
10056
 * \ingroup scan
10057
 */
10058
template <typename... Args>
10059
SCN_NODISCARD auto prompt(const char* msg,
10060
                          scan_format_string<std::FILE*, Args...> format)
10061
    -> scan_result_type<std::FILE*, Args...>
10062
{
10063
    std::printf("%s", msg);
10064
    std::fflush(stdout);
10065
    return input<Args...>(format);
10066
}
10067
10068
namespace detail {
10069
template <typename T>
10070
inline constexpr bool is_scan_int_type =
10071
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
10072
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
10073
     !std::is_same_v<T, bool>)
10074
#if SCN_HAS_INT128
10075
    || std::is_same_v<T, SCN_INT128_TYPE> || std::is_same_v<T, SCN_UINT128_TYPE>
10076
#endif
10077
    ;
10078
}  // namespace detail
10079
10080
/**
10081
 * Fast integer reading.
10082
 *
10083
 * Quickly reads an integer from a `std::string_view`. Skips preceding
10084
 * whitespace.
10085
 *
10086
 * Reads in the specified base,
10087
 * allowing a base prefix. Set `base` to `0` to detect the base from the
10088
 * input. `base` must either be `0`, or in range `[2, 36]`.
10089
 *
10090
 * \ingroup scan
10091
 */
10092
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10093
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
10094
    -> scan_result_type<std::string_view, T>
10095
{
10096
    auto result = scan_result_type<std::string_view, T>();
10097
    if (auto r = detail::scan_int_impl(source, result->value(), base);
10098
        SCN_LIKELY(r)) {
10099
        result->set_range(ranges::subrange{*r, source.end()});
10100
    }
10101
    else {
10102
        result = unexpected(r.error());
10103
    }
10104
    return result;
10105
}
10106
10107
namespace detail {
10108
template <bool Val, typename T>
10109
inline constexpr bool dependent_bool = Val;
10110
}
10111
10112
/**
10113
 * Very fast integer reading.
10114
 *
10115
 * Quickly reads an integer from a `std::string_view`.
10116
 *
10117
 * Be very careful when using this one!
10118
 * Its speed comes from some very heavy assumptions about the validity of
10119
 * the input:
10120
 *  - `source` must not be empty.
10121
 *  - `source` contains nothing but the integer: no leading or trailing
10122
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
10123
 *    no `+` is allowed.
10124
 *  - The parsed value does not overflow.
10125
 *  - The input is a valid base-10 integer.
10126
 * Breaking these assumptions will lead to UB.
10127
 *
10128
 * \ingroup scan
10129
 */
10130
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
10131
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10132
{
10133
    static_assert(
10134
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10135
        "scan_int_exhaustive_valid requires a little endian environment");
10136
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10137
}
10138
10139
SCN_END_NAMESPACE
10140
}  // namespace scn